Документация Blender'а Том I - Руководство Пользователя

Авторы:

Claudio Andauer

Manuel Bastioni

Baldassarre Cesarano

Alejandro Conty Estevez

Karsten Dambekalns

Florian Findeiss

Alex Heizer

Tim van Howe

Wouter van Heyst

Joeri Kassenaar

Martin Kleppman

Lyubomir Kovacev

Jonny Mattews

Reevan McKay

Kent Mein

Martin Middleton

Eric Oberlander

Jason Oppel

Willem-Paul van Overbruggen

Ton Roosendaal

Bastian Samela

Stefano Selleri

Kenneth Styrberg

Bart Veldhuizen

Chris Williamson

Carsten Wartmann

Перевод:

Ash

E-kaR

Sailor

© 2002 Авторские права принадлежат Stichting Blender Foundation. Разрешение предоставляет копировать, распределять и/или изменить этот документ в соответствии с Open Content License. Копия лицензии включена в приложение.

> Документ в настоящее время находится на стадии разработки. Ссылки, в основном, представлены на разделы переведенные на русский язык (или находящиеся на стадии перевода). Оригинал этой страницы, на английском, находится здесь.
Автор перевода - не является профессиональным переводчиком, поэтому возможны некоторые неточности. Если есть таковые, вы всегда можете обратиться к оригиналу документа на английском, на blender.org. Цель перевода этого документа - это облегчить русскоязычным пользователям освоение такого замечательного 3D-инструмента, как Blender. <
Оглавление
I. Введение
Что такое Blender?
История Blender'а
О Свободном программном обеспечении и GPL.
Интерфейс
Концепция интерфейса Blender'а
Навигация в 3D-пространстве
Жизненно важные функции
Ваша первая анимация за 1 час
Подогрев
Создание туловища
Давайте посмотрим, на кого он похож
Материалы и текстуры
Оснащение
Оболочка
Расположение
Он ходит!
II. Моделирование, Материалы и Освещение
Объектный режим
Выбор или выделение объектов
Перемещение объектов
Вращение объектов
Масштабирование
Зеркальное отражение объектов
Цифровой диалог
Создание дубликатов (копирование)
Другие общие инструменты для редактирования объектов
Связь (группировка) объектов способом "родитель-потомок"(Parenting)
Слежение
Булевы операции(Boolean)
Каркасное(Mesh) моделирование
Основные объекты
Режим редактирования
Сглаживание
Инструмент пропорционального редактирования
Выдавливание(Extrude)
Вращение и Вращение с дублированием
Кручение(Screw)
Шум(Noise)
Инструмент Деформации(Warp)
"Зацепы" для объектов
Подразделение поверхностей алгоритмом Catmull-Clark'а(Catmull-Clark SubSurf)
Создание/редактирование кромок для меша при использовании SubSurf
Инструменты для работы с ребрами/гранями
Инструмент создания фаски
Инструмент децимации
Симметричное моделирование
Метаболы(MetaBalls)
Ресурсы
Кривые и Поверхности
Кривые
Поверхности
Текст
Выдавливание вдоль пути
Ширина и форма объекта с помощью кривой
Деформация объекта с помощью кривой
Cоздание поверхности (Skinning)
Ресурсы
Материалы и Текстуры
Диффузия
Зеркальное отражение
Материалы в практике
Рамповые шейдеры
Многочисленные Материалы
Специальные Материалы
Текстуры
Карты окружающей среды
Карты смещения
Цельное и полое стекло
UV-редактор и выбор граней
"Развёртывание" Сюзанны (создание UV-карты)
Текстурные плагины
Освещение
Введение
Типы источников света
Тени методом трассировки луча
Теневой буфер
Объемное Освещение
Параметры настройки Освещения
Мир и Вселенная
Фон
Экспозиция
Туман
Звезды
Окружающий Свет
III. Анимация
Анимация без деформации объектов
Модуль IPO
Ключевые кадры
Кривые IPO
Кривые и ключи IPO
Другие применения кривых IPO
Интерполяция времени
Анимация вдоль пути
Анимация с деформацией
Абсолютные ключи вершин
Относительные ключи вершин
Решеточная анимация
Анимация персонажей
Основные инструменты
Арматурный Объект
"Одевание" скелета (Skinning)
Графическое назначение весов (Распределение влияния при помощи окрашивания - Weight Painting)
Режим позы (Posemode)
Окно действия
Активатор Действия
Окно NLA (Non Linear Animation - Нелинейная Анимация)
Привязки (Ограничения)
Типы Привязок
Арматура для конечностей (рук и ног)
Арматура для механизмов
Нелинейная анимация ходьбы
IV. Рендеринг (Визуализация)
Рендеринг
Рендеринг по частям
Панорамный рендеринг
Антиалиасинг (сглаживание)
Выходные форматы
Рендеринг анимации
Размытость движением (Motion Blur)
Глубина резкости пространства (Depth of Field, DoF)
Мультяшная обводка (Cartoon Edges)
Объединенный рендер (Unified Renderer)
Подготовка вашей работы для видео
Radiosity (Метод Излучения)
Radiosity в Blender'е
Визуализация Radiosity
Radiosity как инструмент моделирования
Пример использования Radiosity
Трассировка луча (Raytracing)
V. Продвинутые инструменты
Эффекты
Введение
Эффект Компоновки
Эффект Частиц. Простые частицы
Интерактивные частицы
Эффект Волны
Специальные методы моделирования
Введение
Копия на каждой вершине (Dupliverts)
Копия на каждый кадр(Dupliframes)
Моделирование с помощью решёток
Мягкие тела
Система мягких тел в Blender'е
Пример
Эффекты объема
Редактор последовательности
Изучение Редактора последовательности
Редактор последовательности для звука
Плагины Редактора последовательности
VI. Расширение возможностей Blender'а
Написание скриптов на языке Python
Пример работы Python'а
Справка по языку Python
Скрипты на Python'е
Система плагинов Blender'а
Написание текстурного плагина
Спецификации
Основной текстурный плагин
Наши модификации
Компиляция
Написание плагина последовательности
VII. Дополнения к Blender'у
Yafray как интегрированый внешний рендер
Часть 1
Часть 2
Часть 3
Глоссарий для новичков
От Blender'а к YafRay, используя YableX
Что такое Yable?
Установка скрипта
The Interface
Yable Juicy example
YafRay
Introduction
Installation
Scene Description Language Overview
Shaders
Renderable Objects
Lights
Background
Camera
Render
Filters
Глоссарий
След >>>
Введение


Введение

перевод: Sailor

О Мануале

Этот Мануал - результат объединенного усилия пользователей Blender'а со всего мира. Так как мы только начали его писать, вы не найдете здесь много информации, но оглавление должно дать вам представление о том, что ожидать.

Это руководство издано под двумя 'Открытыми' лицензиями (смотрите раздел Лицензии документации). Самую свежую версию вы всегда найдете на http://download.blender.org/documentation.

Если у вас есть к нам предложение , если вы хотели бы помочь, или если у вас уже есть часть текста, который вы думаете, мог бы быть добавлен к Мануалу, пожалуйста посетите наш maillist, и сообщите нам.

<<< Пред | След. >>>
Документация Blender'а Том I - Руководство Пользователя | Что такое Blender?


Введение

Что такое Blender?

Blender - набор инструментальных средств, дающий возможность создавать и воспроизводить линейные и реального времени, интерактивные 3D-приложения. Он предлагает полные функциональные возможности для моделирования, визуализации, анимации, постпроизводства и создания игры , а также воспроизведения с исключительными выгодами от удобства использования на многих платформах и размера загружаемого файла, менее чем 2.5Мб

Нацеленный на медиа-профессионалов и индивидуальных творческих пользователей, Blender может использоваться, чтобы создавать коммерческие и другие студийного качества линейные приложения, объединяя в себе 3D-движок реального времени, для создания интерактивных 3D-приложений и автономного воспроизведения или интеграцию в web-браузер

Первоначально разработанный компанией 'Not a Number' (NaN) , Blender теперь продолжает существовать как ' Свободное Программное обеспечение ', с исходниками, доступными под лицензией GNU GPL.

Основные особенности:

  • Полностью интегрированный набор программ, предлагающий широкий диапазон инструментов для создания 3D-приложений, включая моделирование, анимацию, визуализацию, постпроизводство видео и создания игр.

  • Маленький размер исполняемого файла, для легкого распространения

  • Высококачественная 3D-архитектура, дающая возможность быстро и эффективно создавать рабочий поток

  • Бесплатные каналы поддержки через www.blender3d.org

  • Более чем 250 000-ое всемирное сообщество пользователей

Вы можете загрузить самую последнюю версию Blender'а на download.blender.org.

<<< Пред | След >>>
Документация Blender'а Том I | История Blender'а


История Blender'а

перевод: Sailor

С 1988 Тон Розендал (Ton Roosendaal), соучредитель Голландской студии анимации NeoGeo. NeoGeo, быстро становится самой крупной в Нидерландах и одной из лидирующих студий в Европе по созданию 3D-анимации. NeoGeo создавала отмечаемые наградами продукты (European Corporate Video Awards в 1993 и 1995 гг) для больших корпоративных клиентов, таких как многонациональная компания Philips. В NeoGeo, Тон был на двух должностях: художественный директор и разработчик софта для внутренних нужд компании. После долгих раздумываний, Тон пришел к выводу что текущий 3D-инструментарий NeoGeo, слишком стар и тяжело поддается апгрейдам и его нужно было полностью заново переписать. И в 1995 началось перенаписание, в результате которого, на свет появился софт для 3D-моделинга, который мы сейчас все знаем и любим - Blender. Blender совершенствовался и развивался, и Тон понял, что Blender мог бы стать инструментом и для других художников, вне компании NeoGeo.

В 1998, Тон решил основать новую компанию, под названием Not a Number (NaN), как дополнение к NeoGeo, чтобы в дальнейшем заниматься сбытом и разработкой Blender'а. Внутри NaN было желание создавать и распространять компактную, кроссплатформенную 3D-программу для моделирования бесплатно. На то время, это была революционная концепция, так как большинство коммерческих 3D-моделеров стоят несколько тысяч (US)долларов. NaN надеялась принести для основной компьютерной публики, софт для 3D-моделинга и анимации профессионального уровня. Бизнес модель NaN, включала и коммерческое ПО и сервис для Blender'а. В 1999 NaN посещает свою первую конференцию Siggraph для более широкого продвижения Blender'а. На Siggraph, Blender вызвал огромный интерес у посетителей и прессы. Blender был хитом и его огромный потенциал подтвердился!

На крыльях успеха после Siggraph, в начале 2000, NaN получила 4.5 миллиона EUR от предприимчивых инвесторов. Этот большой приток наличных денег, давал возможность NaN быстро развернуть свою деятельность. Вскоре NaN могла похвастаться уже более чем 50 сотрудниками работающими по всему миру, над продвижением и улучшением Blender'а. Летом 2000, был выпущен Blender v2.0. Эта версия Blender'а, по мимо 3D-инструментов, имела интегрированный игровой движок. По окончанию 2000, число пользователей, зарегистрированных на сайте NaN, превысила 250,000.

К сожалению, амбиции NaN и возможности не соответствовали способностям компании и рыночным реалиям времени. В результате это привело к переобразованию NaN с новым инвестором и меньшей компанией в Апреле 2001. Спустя шесть месяцев, NaN выпускает первый коммерческий продукт Blender Publisher. Этот продукт был нацелен на интерактивные 3D-приложения основанные на Веб. Но из-за неутешительных продаж и продолжающегося тяжелого экономического климата, новые инвесторы решили завершить все операции NaN. Закрытие компании, также означало и остановку в развитии Blender'а. Хотя и были видны недостатки текущей версии Blender'а, со сложной внутренней архитектурой, нестандартным GUI, страстная поддержка сообщества юзеров и пользователей купивших в прошлом Blender Publisher и Тон не могли дать Blender'у просто исчезнуть в забвении. Переосновав компанию, с достаточно большой командой разработчиков, в Марте 2002, Тон Розендал учредил непрофессиональную организацию - Blender Foundation.

Основная цель Blender Foundation, была найти способ продолжить разработку и продвижение Blender'а как общественнооснованый проект с открытыми исходниками - Open Source. В Июле 2002, Тон сумел получить согласие инвесторов NaN на уникальный план Blender Foundation, делающий Blender как opensource продукт. Кампании "Free Blender", необходимо было собрать 100,000 EUR, чтобы Foundation смогла выкупить права на исходники Blender'а и интеллектуальную собственность у инвесторов NaN и в последствии выпустить Blender как opensource продукт. С полной энтузиазма группой добровольцев, некоторые из них бывшие сотрудники NaN, кампания по сбору средств была запущена. К всеобщему удивлению и восхищению, кампания собрала необходимую сумму 100,000 EUR за семь недель. В Воскресение 13 Октября 2002, Blender был представлен миру под лицензией GNU General Public License (GPL)- Основная Общественная Лицензия. Разработка Blender'а продолжается и по сей день, командой волонтеров со всего мира, под руководством первоначального создателя Blender'а - Тона Розендала.

Этапы развития и история Blender'а

  • 1.00 Январь 1996 Blender разрабатывается на студии анимации NeoGeo

  • 1.23 Январь 1998 в сети публикуется версия для SGI, IrisGL

  • 1.30 Апрель 1998 версия под Linux и FreeBSD, портирование под OpenGL и X

  • 1.3x Июль 1998 образование NaN

  • 1.4x Сентябрь 1998 выпущены версии для Sun и Linux Alpha

  • 1.50 Ноябрь 1998 опубликован первый мануал

  • 1.60 Апрель 1999 C-ключ (новые возможности заблокированы, $95), выпущена версия под Windows

  • 1.6x Июль 1999 версия для BeOS и PPC

  • 1.80 Июнь 2000 конец существования C-ключа, Blender снова полностью бесплатный

  • 2.00 Август 2000 Интерактивное 3D и движок реального времени

  • 2.10 Декабрь 2000 Новый движок, физика и Python

  • 2.20 Август 2001 Система анимации персонажей

  • 2.21 Октябрь 2001 выпущен Blender Publisher

  • 2.2x Декабрь 2001 версия для Mac OSX

<<< Пред. | След. >>>
Что такое Blender? | О Свободном программном обеспечении и GPL


О Свободном программном обеспечении и GPL

перевод: Sailor

Когда впервые слышишь о "free software", первая мысль которая может прийти в голову это "бесплатная программа". В то время, как в большинстве случаев это правда, термин "free software", который используется Free Software Foundation (организаторы Проекта GNU и создатели GNU General Public License - Основная Общественная Лицензия ) означает "free - как свобода", нежели продукт не имеющий цены. Free software, в данном случае, программное обеспечение, которое вы (пользователь) свободно используете, копируете, модифицируете, передаете другим, без ограничения. Сравните это с лицензированием большинства коммерческих программ, где вам позволяют установить программное обеспечение на единственном компьютере, не разрешается делать никаких копий, и никогда не дают увидеть исходный текст. Свободное программное обеспечение, предоставляет невероятную свободу конечному пользователю; кроме того, так как исходный текст доступен универсально, есть намного больше возможностей для обнаружения и устранения ошибок.

Когда программа под лицензией GNU General Public License ( GPL - Основная Общественная Лицензия):

  • вы имеете право использовать, копировать, и распространять программу;

  • вы имеете право изменять программу;

  • вы имеете право иметь копии исходного текста.

С этими правами, вы приобретаете и некоторые обязанности, если вы распространяете программу под лицензией GPL. Обязанности, которые предназначены, чтобы защитить вашу свободу и свободу других:

  • Вы должны предоставить с программой копию лицензии GPL , таким образом, получатель будет уверен в своих правах согласно лицензии.

  • Вы должны включить исходный текст или сделать его свободно доступным.

  • Если вы изменяете код и распространяете измененную версию, вы должны лицензировать ваши модификации под GPL, и сделать исходный текст вашего изменения доступным. (Вы не можете использовать код под лицензией GPL, как часть собственной программы.)

  • Вы не можете ограничить лицензирование программы вне сроков GPL. (Вы не можете превращать программу, под лицензией GPL, в собственный продукт.)

Больше о GPL, вы можете узнать на сайте GNU Project. Копия GNU General Public License включена в приложение Лицензии Документации. GNU GPL на русском, вы найдете на сайте Linux.ru

<<< Пред. | След. >>>
История Blender'а | Интерфейс


Интерфейс

автор: Martin Kleppmann

перевод: Sailor

Концепция интерфейса Blender'а

Если вы новичок в Blender'е, то перед тем как вы начнете моделировать, важно хорошо освоить интерфейс пользователя. Потому, что его концепция весьма необычна - это и отличает его от других 3D-пакетов, и особенно пользователи Windows, должны будут привыкнуть к различным средствам управления. Но, эта концепция интерфейса, фактически одна из замечательных сторон Blender'а: как только вы усвоите, как это все работает, это даст вам возможность работать чрезвычайно быстро и продуктивно.

Кроме того, интерфейс Blender'а, очень изменился с переходом от версии 2.28 к версии 2.3, даже опытные пользователи могут получить пользу от этой главы.

Клавиатура и мышь

Интерфейс Blender'а использует три кнопки мыши, а также широкий диапазон "горячих клавиш"(hotkeys - клавиши быстрого вызова) (полный список сморите в Томе II). Если ваша мышь имеет две кнопки, вы можете активировать эмуляцию средней кнопки (раздел Пользовательские настройки описывает как это сделать). Можно также использовать колесико мышки, но не обязательно, так как для этого есть соответствующие "горячие клавиши".

В этом мануале, используются следующие обозначения:

  • Кнопки мыши обозначаются: ЛКМ (Левая Кнопка Мыши), СКМ (Средняя Кнопка Мыши) и ПКМ (Правая Кнопка Мыши). Колесико мышки обозначается КМ

  • "Горячие клавиши" обозначаются как G, R и т.д. Клавиши могут сочетаться с Shift, Ctrl и/или Alt, например Ctrl-W или Shift-Alt-A.

  • Клавиши с NUM0 по NUM9, NUM+ т.д. соответствуют клавишам на дополнительной цифровой клавиатуре. NumLock должен быть включен.

  • Остальные клавиши называются своими именами, например ESC, TAB.

Из-за того, что Blender подразумевает использование клавиатуры и мыши одновременно, существует популярное среди пользоватей "золотое правило": держите одну руку на клавиатуре, а другую на мышке! Если вы обычно работаете с раскладкой клавиатуры отличной от английской, то для работы с Blender'ом, вам нужно будет переключиться на английскую или американскую раскладку. Наиболее часто используемые клавиши сгруппированы так, чтобы они были под левой рукой, в стандартном положении (указательный палец на F), при английской раскладке клавиатуры. В этом случае вы используете мышь правой рукой.

Система окон

Теперь настало время запустить Blender и немного поиграть.

Рис 1. Сцена в Blender'е по умолчанию.

На Рис 1 изображен экран, после запуска Blender'а. По умолчанию, экран разбит на три окна: вверху основное меню , большое 3D-окно и внизу окно кнопок (ButtonsWindow). Большинство окон имеют заголовок (светло-серая полосочка, содержащая меню и/или иконки кнопок, поэтому, мы будем обращаться к заголовку как к панели инструментов (ToolBar); заголовок, если присутствует, может располагаться в верхней (как у окна кнопок) или нижней (как у 3D-окна) части окна.
Кроме заголовка, окно кнопок содержит панели с кнопками, каждое из которых, имеет свой заголовок с названием панели. Например, панель с кнопками для рендеринга имеет надпись Render, панель для анимации Anim (см. Рис. 1). Расположение панелей, в окне кнопок, можно настроить выбрав необходимый пункт из меню Panels, в заголовке окна кнопок.

Если вы перемещаете мышью по верх окна, то вы заметите, как заголовок этого окна изменяет цвет: со светлого на более темно-серый. Это означает, что данное окно находится в фокусе (активное) и все нажатые клавиши будут действовать в этом окне.

Систему окон, очень легко настраивается для ваших нужд и желаний. Чтобы создать новое окно, вы можете просто разбить одно существующее по полам. Делается это так: переместите мышь в окно, которое вы хотите разбить, кликните по границе этого окна СКМ или ПКМ, и выберите "Split Area" (Рис 2). Теперь переместите границу окна в нужное вам место и зафиксируйте кликом ЛКМ, или отмените действие нажатием ESC. Новое окно будет копией того, которое вы разбивали, но вы можете настроить вид этого окна по вашему желанию, например, установить в нем вид сцены из другой точки.

Рис 2. Меню для создания нового окна.

Создайте новую вертикальную границу окна, выбрав "Split Area" из горизонтальной границы и наоборот. Вы можете изменять размер каждого окна, перетаскивая границу ЛКМ. Чтобы уменьшить количество окон, кликните по границе между окнами СКМ или ПКМ и выберите "Join Areas". Получившееся окно, будет иметь свойства последнего активного окна.

Вы можете изменять расположение заголовка, кликнув по нему ПКМ и выбрав "Top" или "Bottom". Можно также скрыть заголовок выбрав "No Header", но делать нужно тогда, когда вы хорошо знаете "горячие клавиши". Сделать заголовок снова видимым, можно кликнув по границе окна СКМ или ПКМ и выбрать "Add Header".

Типы окон

Каждое окно может иметь разное содержание и настройки, в зависимости от того, с чем вы работаете: 3D-модели, анимация, материалы, скрипты на Python и т.д. Типы окон, можно выбирать нажимая ЛКМ на кнопку, в самом крайнем левом конце заголовка окна (Рис 3).

Рис 3. Меню для выбора типа окна.

Функции и использование соответствующих типов окон, будут объясняться в соответствующих главах этого мануала. Пока что нам нужно только три типа окна, которые уже присутствуют в заданной по умолчанию сцене Blender'а:

3D Viewport(3D-окно)

представляет графический вид сцены, над которой вы работаете. Вы можете просматривать сцену пол различными углами и с разными опциями; подробнее смотрите в разделе Навигация в 3D-пространстве. Имея несколько разных 3D-окон одной и той же сцены, вы можете наблюдать из разных точек за всеми изменениями в сцене одновременно.

Buttons window(Окно кнопок)

содержит инструменты для редактирования объектов, поверхностей, текстур, освещения и т.д. Вам постоянно нужно будет это окно, особенно если вы не знаете наизусть все "горячие клавиши" .

User preferences(Пользовательские настройки(или главное меню))

Это окно обычно скрыто и видна только часть, содержащая меню - подробнее смотрите раздел Пользовательские настройки. По сравнению с другими программами, это меню используется очень редко.

Особенность окна, которая часто бывает необходима для точного редактирования - это полноэкранный режим: если вы нажмете соответствующую кнопку в заголовке окна (вторая слева на Рис 3) или клавиши Ctrl-Стрелка вниз, активное окно развернется на весь экран. Чтобы вернуть окну нормальный размер, нажмите кнопку еще раз или клавиши Ctrl-Стрелка вверх.

Контексты, Панели и Кнопки

Большинство кнопок сгруппированы в Окне кнопок ( Button Window). С версии Blender 2.3, Окно кнопок отображает шесть основных контекстов, которые переключаются нажатием первого ряда иконок в заголовке окна (Рис 4), каждый из контекстов, может быть поделен на подконтексты, с помощью нажатия одной из четырех иконок второго ряда (Рис 4):

Рис 4. Контексты и под-контексты

  • Logic (Логика) - "горячая клавиша" F4

  • Script (Скрипт, Сценарий) - нет "горячей клавиши"

  • Shading (Тени) - "горячая клавиша" F5

    • Lamp (Лампы) - нет "горячей клавиши"

    • Material (Материалы) - нет "горячей клавиши"

    • Texture (Текстуры) - "горячая клавиша" F6

    • Radio (Метод излучения) - нет "горячей клавиши"

    • World (Мир, окружающая среда) - "горячая клавиша" F8

  • Object (Объект) - "горячая клавиша" F7

  • Editing (Редактирование) - "горячая клавиша" F9

  • Scene (Сцена) - "горячая клавиша" F10

    • Rendering (Рендеринг, визуализация) - нет "горячей клавиши"

    • Anim/Playback (Анимация и просмотр анимации) - нет "горячей клавиши"

    • Sound (Звук) - нет "горячей клавиши"

После того как пользователь выберет основной контекст, подконтекст в основном выбирается Blender'ом автоматически, в зависимости от активного объекта. Например, когда выбран контекст "Shading", и объект Лампа в этот момент выделена , тогда подконтекст покажет кнопки управления освещением, если выбран Меш или другой визуализируемый объект, тогда подконтекстом будут кнопки материалов, и если выбрать камеру, то подконтекстом будут кнопки World (Мир, управление фоном).

Наиболее заметная новинка в интерфейсе, это Панели, которые содержат логически сгруппированные кнопки. Каждая панель имеет одинаковый размер. Панели можно перемещать в окне кнопок, захватив их за заголовок с помощью ЛКМ. Кликнув ПКМ в окне кнопок вы вызовите меню, из которого можно выбрать способ выравнивания панелей (Рис 5).

Рис 5. Меню окна кнопок.

КМ (Колесико Мышки) прокручивает панели в направлении их выравнивания, CTRL-КМ и CTRL-СКМ увеличиваеи и уменьшает панели. Панель можно свёрнуть/развёрнуть, кликнув ЛКМ по треугольничку в заголовке панели.

Частично, сложные панели организованы в виде Вкладок. Клик ЛКМ по вкладке изменит кнопки находящиеся на панели (Рис 6). Вкладки, на панели, могут быть отделеной панелью. Для этого кликните и удерживайте ЛКМ заголовок вкладки и тащите его вверх, после чего, вы увидите, как вкладка отделится и станет отдельной панелью. Поместив одну панель над другой, вы объедините их в одну, получив одну панель с двумя вкладками.

Рис 6. Панель с вкладками.

И последний элемент в цепочке интерфейса - это несколько видов кнопок, которые расположены на вкладках и панелях:

Типы кнопок

Кнопки Blender'а, более функциональны чем в других пользовательских интерфейсах. Во-первых, кнопки переключения, имеют разный размер и цвет (Рис 7). Зеленые, фиолетовые и серый цвета имеют то же самое значение, они только помогают глазу принять содержание более удобного интерфейса. Клик по этому типу кнопок (при помощи ЛКМ) не приводит ни к каким действиям, а просто переключает состояние на "вкл" или "выкл". Некоторые кнопки имеют еще и третье состояние, которое отличается подсветкой желтым цветом текста на кнопке (кнопка Emit на Рис 7). Обычно третье состояние означает "негатив", а нормальное состояние "вкл" означает "позитив".

Рис 7. Кнопки переключения

Кнопки, которые исполняют какую-либо операцию во время нажатия, могут быть идентифицированы по измененению их цвета, на более темный (Рис 8).

Рис 8. Кнопка действия

Цифровые кнопки (Рис 9) могут быть идентифицированы по наличию в их них надписях двоеточия и стрелок с обех концов надписи. Некоторые цифровые кнопки содержат еще и ползунок (слайдер - slider). Цифровые кнопки имеют несколько способов управления: Чтобы увеличить значение, щелкните ЛКМ по правой половине кнопки, чтобы уменьшить, по левой половине. Чтобы изменять значение в более широком диапазоне, нажмите ЛКМ и перетащите мышь влево или вправо. Если вы, во время этого действия, держите Ctrl, значение будет меняться дискретно; удерживание Shift, производит более тонкую настройку.

Рис 9. Цифровые кнопки

Вы можете ввести значение с помощью клавиатуры, удерживая Shift и кликнув ЛКМ. Нажмите Shift-Backspace чтобы очистить значение, Shift-Стрелка влево чтобы переместить курсор в начало и Shift-Стрелка вправо чтобы переместить курсор в конец. А нажатием ESC вы восстановите оригинальное значение.

И на конец, специальные кнопки для связи блоков данных друг с другом. (Блоки данных (Datablocks) это структуры, такие как Меши-объекты, Материалы, Текстуры и т.п.; связывая Материал и Объект, вы назначаете Материал к Объекту.) Пример такого блока кнопок показан на Рис 10. Первая кнопка (со стрелками) открывает меню, которое позволяет вам выбрать блок данных, который нужно связать. Выбирается блок данных, нажатием ЛКМ и отпусканием кнопки на нужном нам пункте меню. Рядом находится текстовое поле, которое указывает тип и название связанного блока и позволяет вам редактировать название, после клика по нему ЛКМ. Кнопка X разрывает связь; кнопка с автомобилем, автоматически генерирует название блока данных, а кнопка F позволяет сохранить блок данных в файл.

Рис 10. Кнопки для связи блоков данных.

Панель инструментов

Нажатие клавиши Пробел в 3D-окне, или нажатие и удержание ЛКМ или ПКМ более чем пол секунды открывает панель инструментов. Панель содержит 6 шесть основных контекстов, расположенных в два ряда, каждый из которых открывает меню и подменю.

Трое из этих контекстов открывают теже самые три меню, которые расположены в заголовке 3D-окна, другие три: Add позволяет добавить новый объект в сцену, Edit и Transform показывают возможные операции с объектом(и) (Рис 11).

Рис 11. Панель инструментов

Экраны

Гибкая работа Blender'а с окнами, позволяет вам создавать удобное для вас рабочее окружение, для различных задач, таких как моделирование, анимация и написание скриптов. Часто бывает необходимо быстро переключиться между различными средами в пределах того же самого файла. Это возможно, если создать несколько экранов: Все изменения для окон, как описано в разделе Система окон и в разделе Типы окон сохранены в пределах одного экрана, так если вы измените окно на одном экране, то другие экраны останутся неизменными. Но, сцена над которой вы работаете, остается такой же как на других экранах.

Blender, по умолчанию, имеет три разных экрана; они доступны через кнопку связи SCR, в заголовке окна Пользовательских настроек, показанное на Рис 12. Чтобы переключиться в алфавитном порядке на следующий экран, нажмите Ctrl-Стрелка вправо; Чтобы переключиться в алфавитном порядке на предыдущий экран Ctrl-Стрелка влево.

Рис 12. Переключатель экрана и сцены

Сцены

Также возможно иметь несколько сцен в пределах одного и того же файла Blender'а; они могут использовать объекты друг друга или быть полностью отдельными. Сцены можно создавать или выбирать с помощью кнопки связи SCE, в заголовке окна Пользовательских настроек (Рис 12).

Когда вы создаете новую сцену, вы можете выбрать между четырьмя опциями:

  • "Empty" создает пустую сцену.

  • "Link Objects" создает новую сцену, с тем же содержанием, что и выбранная. Изменение в одной сцене, повлечет за собой изменение и в другой.

  • "Link ObData" создает новую сцену, основанную на том же содержании, что и выбранная, со связью с такими же мешами, материалами и т.д. Это означает, что вы можете менять положение объекта и связанные свойства, но модификации на мешах, материалах и т.д. также затронут другие сцены, если вы вручную не сделаете однопользовательские копии.

  • "Full Copy" создает полностью независимую сцену, с полной копией содержимого выбранной на данный момент сцены.

<<< Пред | След >>>
О Свободном программном обеспечении и GPL | Навигация в 3D-пространстве


Навигация в 3D-пространстве

Blender позволяет вам работать в трехмерном пространстве, но сам экран двумерный. Чтобы иметь возможность работать в трех измерениях, вам понадобится изменять точку и направление просмотра сцены. Это возможно во всех 3D-окнах.

Большинство не 3D-окон, имеют аналогичное управление. Есть возможность, например, перемещать и изменять масштаб содержимого окна кнопок.

Направление просмотра (вращение)

Blender, по умолчанию, предоставляет три направления просмотра: сбоку, спереди и сверху. Blender использует правостороннюю систему координат, где ось Z направлена вверх, "бок" соответственно смотрит по оси X, "перед" смотрит по оси Y, и "верх" вдоль оси Z. Вы можете выбрать направление просмотра в 3D-окне, с помощью меню View>Front (Top и Camera) внизу, в заголовке 3D-окна (Рис 10) или с помощью клавиш NUM3 для вида "сбоку", NUM1 для вида "спереди" и NUM7 для вида "сверху".

Tip | "Горячие клавиши"(клавиши быстрого вызова)
 | Запомните, что большинство клавиш имеют эффект только в активном окне, поэтому, сначала убедитесь что курсор мыши находится в нужном вам окне!

Рис 10. Меню переключения направления просмотра для 3D-окна.

Кроме этих трех направления просмотра, вид сцены можно вращать под любым углом. Перемещайте курсор мыши с нажатой СКМ в области 3D-окна: если вы начнете в середине окна и будете двигать мышью вверх-вниз или влево-вправо, то вид сцены будет вращаться относительно средины окна. Если вы начнете с краю и не будете двигать мышь к середине, то вид будет вращаться вокруг вашей оси просмотра (поворот через голову). Просто поиграйте с этой функцией и вы почувствуете как это все работает.

Для изменения угла просмотра пошагово, используйте клавиши NUM8 и NUM2, это соответствует вертикальному перемещению мыши с нажатой СКМ или NUM4 и NUM6, соответствует горизонтальному перемещению мыши с нажатой СКМ или воспользуйтесь меню View>Viewport Navigation>Orbit Left (Orbit Right, Up и Down) .

Перемещение и масштабирование вида

Для перемещения вида, удерживайте Shift и тащите мышь с нажатой СКМ в 3D-окне. Для пошагового перемещения, используйте клавиши Ctrl-NUM8, Ctrl-NUM2, Ctrl-NUM4 и Ctrl-NUM6 как при вращении.

Вы можете масштабировать сцену, удерживая Ctrl и перемещая мышь с нажатой ЛКМ или используя меню View>Viewport Navigation>Zoom In (Zoom Out) . Нажатие NUM Enter (или через меню View>Viewport Navigation>Reset Zoom), вернет масштаб сцены к первоначальному виду. Если вы владелец мыши с колесиком, то масштабировать вид можно вращая КМ, с курсором в 3D-окне. Клавиши масштабирования NUM+ и NUM-.

Tip | Если вы вдруг "потерялись"...
 | Если вы вдруг "потерялись" в 3D-пространстве, а это бывает не редко, то две клавиши прийдут к вам на помощь: Home изменяет вид так, что вы увидите все объекты. NUM.(точка) масштабирует сцену относительно выбранного в данный момент объекта. NUM*(звездочка) совмещает вид относительно выбранного в данный момент объекта. Эти функции также доступны из меню View>Frame All (Align View to Selected) (Рис 10)

Перспектива и ортографическая проекция

Каждое 3D-окно, поддерживает два разных типа проекции. Они показаны на Рис 12: перспектива (слева) и ортографическая (справа).

Рис 12. Показ перспективной (справа) и ортографической (слева) проекций.

Перспектива - это то, к чему наш глаз привык, потому что отдаленные объекты кажутся меньшими. Ортографическая проекция часто вначале кажется немного странной, потому что объекты остаются того же самого размера, независимо от расстояния: это подобно просмотру сцены от отдаленной в бесконечность точки. Однако, ортонормированный просмотр очень полезен (это по умолчанию в Blender'е и в большинстве других 3D-программах), потому, что это обеспечивает более "техническое" проникновение в сцену, делая ее проще, для определения пропорций.

Чтобы изменить режим проекции 3D-окна, выберите из меню View>Perspective (или Orthographics) (Рис 10). Клавиша NUM5 переключает вид между этими двумя режимами.

Tip | Проекция Камеры
 | Обратите внимание, что изменение проекции в 3D-окне не влияет на вид сцены при рендеринге. Чтобы изменить режим проекции камеры, выберите камеру и нажмите кнопку "Ortho" в окне кнопок для редактирования (EditButtons F9).

Клавиша NUM0(ноль) (или через меню View>Camera), устанавливает в 3D-окне вид из камеры. В этом случае, сцена отображается такой, какой она будет после рендеринга (смотрите Рис 13): отрендеренная картинка будет содержать все, что находится внутри наружной пунктирной рамки. В этом режиме также доступно масштабирование, но чтобы изменить точку просмотра, вам необходимо переместить или вращать камеру.

Рис 13. Вид из камеры.

Режим прорисовки(отображения)

В зависимости от мощности вашего компьютера, сложности сцены и типа выполняемой работы, вы можете переключаться между различными режимами отображения объектов:

  • Textured(текстурный): Прорисовывается все полностью, насколько это возможно. Пока что не является альтернативой рендерингу. Обратите внимание, что, если у вас нет никакого освещения в сцене, то все останется черным.

  • Shaded(с тенями): Поверхности прорисовываются как сплошные(отображаются грани), учитывая освещение. Как и в текстурном режиме, вы ничего не увидите без освещения.

  • Solid(сплошной): Поверхности прорисовываются как сплошные, с гранями, но освещение не требуется.

  • Wireframe(каркасный): Объекты состоят из линий(ребер), которые задают его форму. Этот режим включен по умолчанию.

  • Bounding box(только границы объекта): Объекты вообще не отображаются, вместо них, прорисовывается прямоугольная коробка, которая соответствует форме и размерам объекта.

Режим прорисовки(отображения), можно выбирать соответствующей кнопкой в заголовке окна (Рис 14) или же при помощи клавиш: Z переключает между каркасным и сплошным режимом отображением, Shift-Z переключает между каркасным и теневым режимом отображением.

Рис 14. Кнопка переключения режимов отображения.

Локальный и глобальный вид

По умолчанию, сцена имеет глобальный вид. Но, бывает необходим и локальный просмотр. При локальном просмотре, отображаются только выбранные объекты. Это облегчает редактирование в сложных сценах. Чтобы включить локальный просмотр, сначала выберите объекты (смотрите раздел Выбор объектов в главе Меш моделирование), затем выберите пункт в меню View>Local View. Или клавиша NUM/. Возврат к глобальному виду осуществляется повторным нажатием NUM/ или выберите пункт в меню View>Global View (Рис 10).

Система слоев

3D-сцена, по мере создания, часто становится сложной и запутанной. Для контроля над этим, объекты можно сгруппировать в "слои", так чтобы одновременно отображались только выбранные слои. 3D-слои существенно отличаются от тех слоев, что в графических 2D-редакторах: они не влияют на последовательность прорисовки (за исключением некоторых специальных функций) и предназначены исключительно для лучшего обзора сцены.

Blender предоставляет 20 слоев; вы можете выбирать их при помощи маленьких, неподписанных кнопочек, которые находятся в заголовке окна (Рис 17). Чтобы выбрать только один слой, кликните на соответствующей кнопке ЛКМ; чтобы выбрать более чем один слой, удерживайте Shift во время кликанья мышкой.

Рис 17. Кнопки слоев.

Чтобы выбрать слой при помощи клавиатуры, нажмите от 1 до 0 (на основной клавиатуре) для слоев от 1 до 10 (верхний ряд кнопок), и Alt-1 до Alt-0 для слоев от 11 to 20 (нижний ряд). Клавиша Shift, также поможет выбрать несколько слоев одновременно.

По умолчанию, кнопка блокировки (с изображением замочка), справа от кнопок слоев, нажата; это означает, что все изменения к видимым слоям затрагивают все 3D-окна. Если вы хотите выбрать некоторые уровни только в одном окне, то сначала снимите блокировку (кнопка с изображением замочка отжата).

Для перемещения объекта в другой слой, нажмите M, из появившегося диалога выберите нужный вам слой и нажмите кнопку Ok.

<<< Пред | След >>>
Интерфейс | Жизненно важные функции


Жизненно важные функции

Загрузка файлов

Blender использует свой формат файла .blend , чтобы сохранить все: Объекты, сцены, текстуры, и даже все ваши настройки интерфейса.

Для загрузки файла Blender'а с диска, нажмите F1. Активное окно временно трансформируется на диалог загрузки файла, как на Рис 18. Для скроллинга, перемещайте ЛКМ вертикальную панель слева (или используйте колесико мыши). Чтобы загрузить файл, выберите его с помощью ЛКМ и нажмите ENTER, или просто кликните по нему СКМ.

Рис 18. Диалог загрузки файла.

Верхнее текстовое поле отображает путь к текущей директории, а нижнее - название выбранного файла. Кнопка P (клавиша P) перемещает вас в родительскую директорию; кнопка со стрелками содержит список недавно используемых путей. На операционных системах Windows, эта кнопка, также содержит список всех дисков (C:, D: и т.д).

Пожалуйста, обратите внимание, что Blender подразумевает, что вы знаете что делаете! Когда вы загружаете файл, вас не спросят о сохранении предыдущей сцены, над которой вы работали: завершение диалога загрузки файла является подтверждением того, что вы не сделали это случайно. Убедитесь самостоятельно, что вы сохранили ваш файл.

Сохранение файлов

Сохранение файлов, аналогично загрузке: Когда вы нажимаете F2, активное окно временно трансформируется на диалог сохранения файла, как на Рис 19. Кликните по нижнему текстовому полю, чтобы ввести имя файла. Если вы не добавили расширение ".blend", то оно добавится автоматически. Затем нажмите ENTER чтобы записать файл. Если название файла уже существует, то появится вопрос для подтверждения перезаписи файла.

Рис 19. Диалог сохранения файла.

Диалог сохранения файла, содержит маленькую опцию, которая поможет вам сохранять несколько версий вашего файла: Нажатие NUM+ или NUM- повышает или понижает номер, содержащийся в названии файла. Если вы просто хотите пересохранить загруженный в данный момент файл, без диалога сохранения, вы можете нажать CTRL-W (или CTRL-S) вместо F2 и подтвердить перезапись файла.

Рендеринг(визуализация)

Этот раздел, даст вам краткий обзор важных функций необходимых для рендеринга сцены. Детальное описание всех параметров вы найдете в главе Рендеринг(визуализация).

Настройки рендеринга находятся в окне кнопок дисплея (DisplayButtons) (Рис 20) в которое можно перейти нажав кнопку [image] , или просто F10.

Рис 20. Настройки рендеринга в окне кнопок дисплея (DisplayButtons).

Здесь нас интересует размер (количество пикселов по горизонтали и вертикали) и формат создаваемого файла. Размер можно настроить используя кнопки SizeX и SizeY, а клик мышкой по кнопке, (на Рис 20 выбран Jpeg) откроет меню с доступными форматами картинок и анимации. Например, можно выбратьTarga (*.tga).

Теперь, после того как настройки были сделаны, сцену можно отрендерить(визуализировать) нажатием кнопки RENDER или нажатием F12. В зависимости от сложности сцены, этот процесс обычно занимает от пару секунд до нескольких минут, а сам процесс отображается в отдельном окне. Если сцена содержит анимацию, то отрендерится только текущий кадр. (Чтобы отрендерить всю анимацию, смотрите раздел Рендеринг анимации в главе Рендеринг.)

Если вы ничего не видите в окне рендеринга, убедитесь что ваша сцена правильно сконструирована: Есть ли в ней освещение? Правильно ли направлена и расположена камера? Все ли нужные вам слои включены?

Пожалуйста заметьте, что отрендеренный рисунок не сохраняется автоматически на диск. Когда качество отрендеренной картинки вас устроит, вы можете сохранить ее нажатием F3 и использовать диалог сохранения, который описан выше в разделе Сохранение файлов. Картинка сохранится в том формате, который вы выбрали первоначально в окне кнопок дисплея (DisplayButtons).

Пользовательские настройки

Blender имеет несколько параметров, которые не сохраняются каждым файлом, но применяются ко всем файлам пользователя. Эти параметры прежде всего касаются интерфейса пользователя, управляющего деталями и системными свойствами, подобно мыши, шрифтам и языкам.

Поскольку пользовательские настройки редко используются, они аккуратно скрыты позади главного меню. Чтобы сделать их видимыми, опустите границу окна меню (обычно эта граница находится в самом верху экрана). Параметры настройки сгруппированы в шесть категорий, которые можно выбирать фиолетовыми кнопками, показанными на Рис 21.

Рис 21. Окно пользовательских настроек.

Большинство кнопок не требуют разъяснений, так как надписи на них или подсказки, появляющиеся при наведении на них мыши, дают четкое представление для чего они служат. Мы просто рассмотрим их по категориям:

View & Controls (Вид и Управление)

Параметры настройки, касающиеся того, как интерфейс пользователя должен реагировать на пользовательский ввод, например, какой метод вращения должен использоваться в 3D-окнах. Здесь вы можете также активизировать эмуляцию мыши с 3 кнопками, если у вас мышь с двумя кнопками. СКМ может быть заменена комбинацией клавиш ALT-ЛКМ.

Edit Methods (Метод редактирования)

Позволяет вам определять специфику работы некоторых команд редактирования, таких как дублирование.

Language & Fonts (Язык и Шрифты)

Выбор альтернативного шрифта TrueType для интерфейса, а также выбор доступных языков интерфейса.

Themes (Темы)

Выбор, а также создание своих тем для интерфейса.

Auto Save (Автосохранение)

Автосохранение, может быть создано для резервного сохранения файлов, в случае если что-то идет не так как надо. Эти файлы будут названы Имя_файла.blend1, Имя_файла.blend2, и т.д.

File Paths (Пути файлов)

Выбор путей файлов по умолчанию для диалога загрузки.

System & OpenGL (Система и OpenGL)

Вы можете обратится в этот раздел, если у вас проблемы с графикой или звуком или если у вас нет цифровой вспомогательной клавиатуры и хотите ее эмулировать (для ноутбуков).

Установка сцены по умолчанию

Вам не нравится настройка окон Blender'а по умолчанию, или вы хотите особые настройки рендеринга для каждой вашей новой работы? Нет проблем. Вы можете использовать любую сцену, как сцену по умолчанию при запуске Blender'а. Чтобы сделать текущую сцену по умолчанию, нажмите CTRL-U. Она будет скопирована в файл с названием .B.blend, в вашей домашней директории.

Вы можете очистить сцену и вернуться к первоначальной сцене по умолчанию в любой момент, нажав CTRL-X. Пожалуйста, не забудьте сохранить перед этим вашу сцену!

<<< Пред | След >>>
Навигация в 3D-пространстве | Ваша первая анимация за 1 час


Ваша первая анимация за 1 час

перевод: Sailor

Эта глава научит вас шаг за шагом как создать и анимировать персонаж маленького "Хлебного Человечка".

Подогрев

Запустите Blender дважды кликнув по его иконке или из командной строки. Blender выдаст сцену с видом сверху по умолчанию: камера, куб и лампа. Выберите куб и лампу (Рис 1) и удалите их клавишей X и подтвердите действие выбрав из появившегося меню Erase Selected .

Рис 1. Окно Blender'а сразу после запуска.

Теперь выберите камеру ПКМ и нажмите M. Появится маленькая панелька кнопок как на Рис 2 с нажатой первой кнопочкой. Нажмите самую крайнюю правую кнопку в верхнем ряду и потом нажмите большую кнопку OK . Это переместит вашу камеру в 10 слой. Blender, для удобства работы, предоставляет 20 слоев. Какой слой отображается в данный момент, вы можете узнать посмотрев на группу из 20 кнопок, в заголовке 3D-окна Рис 3. Вы можете переключать отображение слоев ЛКМ или же SHIFT- ЛКМ. Выключите слой 2, нажав по второй кнопке в верхнем ряду, слева нажав SHIFT-ЛКМ Рис 3.

Рис 2. Панель управления слоями.

Рис 3. Управление отображением слоев.

<<< Пред | След >>>
Жизненно важные функции | Создание туловища


Создание туловища

Переключитесь на вид сверху клавишей NUM 1 и добавьте куб нажав SPACE и выбрав в меню ADD, затем в подменю Mesh, и в еще одном подменю Cube. В дальнейшем, мы будем это описывать так: SPACE>>ADD>>Mesh>>Cube - так будет короче и удобнее. Появится куб Рис 4. Новосозданный меш-объект находится в специальном режиме - Режиме редактирования (Edit Mode), в котором вы можете перемещать отдельно любую вершину, входящую в состав меша. По умолчанию выбраны все вершины (желтые), все ребра (темно-желтый) и все грани (розовые).

Если грани у вашего куба прозрачные, а ребра просто черные, то для того, чтобы они отображались как на Рис 4, вам необходимо в окне кнопок для редактирования (F9), найти панель с названием Mesh Tools 1 и включить на ней две кнопки Draw Faces и Draw Edges.

Рис 4. Наш куб в режиме редактирования и выбраны все вершины.

Мы будем называть нашего Хлебного человечка "Гас". Наша первая задача - это создать туловище Гасу. Для этого мы поработаем с нашим кубом в режиме редактирования, используя инструменты которые нам предоставляет Blender. Чтобы увидеть эти инструменты нажмите иконку в виде квадратика с желтыми вершинами в окне кнопок Рис 5. Или просто нажмите, F9.

Рис 5. Кнопка для вызова окна с инструментами редактирования.

Теперь на панели Mesh Tools найдите кнопку Subdivide (Подразделить) и один раз нажмите ее Рис 6. Это поделит каждую сторону куба на два, создав новые вершины и грани Рис 7.

Рис 6. Кнопки для редактирования меш-объектов.

Рис 7. Куб подразделенный один раз.

Поместите курсор мыши в 3D-окно и нажмите A. Это снимет выделение со всех вершин. Вершины станут розовыми, ребра черными и грани синими. Теперь нажмите B, курсор изменится на пару ортогональных серых линий. Возьмите выше и левее от куба, нажмите ЛКМ и удерживая ее нажатой, тащите мышь вниз и вправо, так, чтобы появившаяся серая прямоугольная рамка покрыла все вершины слева. Теперь отпустите ЛКМ. Эта последовательность, позволяет вам выбирать группу вершин, попавших в серую прямоугольную рамку Рис 8.

Tip Выделение прямоугольной рамкой

Во многих ситуациях, вершины могут быть скрыты за другими вершинами. Например, как в нашем случае, наш подразделенный куб имеет 26 вершин, но вы можете видеть только девять, потому что другие скрыты.

Обычный клик ПКМ выберет только одну из этих вершин, скрытых друг за другом, а выбор рамкой выберет все. Следовательно, как в этом случае, даже если вы видите, что только три вершины стали желтыми, на самом деле, вы выбрали девять.

Рис 8. Последовательность выбора группы вершин рамкой.

Теперь нажмите X и из появившегося меню выберите Vertices чтобы стереть выбранные вершины Рис 9.

Рис 9. Меню удаления (клавиша X ).

Tip Отмена последнего действия (Undo)

Будьте осторожны, проблема Blender'а старых версий (до версии 2.30) это отсутствие, привычной для других программ, функции Undo (Отмена последнего действия).

В любом случае это не такая уж большая проблема, есть много способов исправить ошибки.

Один из таких, это своеобразная функция Undo для меш-объектов, она работает только в режиме редактирования и возвращает меш в то состояние, в котором он был до перехода в режим редактирования.

Включение и выключение режима редактирования производится клавишей TAB. Вы могли бы каждый раз, после удачного редактирования меша, выходить из режима редактирования, и потом снова входить в него. И если надо, нажимать U чтобы вернуться к последней правильной форме меша.

Нажатие ESC по среди действия редактирования, также возвращает меш в первоначальное состояние.

Все это относится к функции Undo для Blender'а старых версий. В версиях, начиная с 2.30, функция Undo работает на любом этапе редактирования, а количество шагов отмены последнего действия, можно настраивать в Окне пользовательских настроек. В общем, если вы используете самую последнюю версию Blender'а , то в вашем распоряжении есть полноценная функция Undo (клавиши U и SHIFT-U в режиме редактирования) Клавиши ALT-U вызывают меню Undo.

Теперь, с помощью рамки о которой мы только что говорили, выберите две верхние вершины сбоку, как на (Рис 10, слева). Нажмите E и выберите из меню Extrude чтобы экструдировать ("выдавить") вершины. Это создаст новые вершины и грани. Новосозданные вершины готовы к перемещению и могут двигаться за мышью. Двигайте их вправо.

Чтобы держать движение четко по вертикали или горизонтали, удерживайте во время движения СКМ. Чтобы опять вернуться к свободному перемещению, кликните снова СКМ.

Переместите вершины на 1.5 квадрата сетки вправо, и кликните ЛКМ для фиксации положения. Экструдируйте снова, нажав E и переместите новые вершины вправо. На Рис 10 показана эта последовательность

Рис 10. Экструдирование рук в два этапа.

Теперь у Гаса есть левая рука (лицом он смотрит на нас). Мы создадим ему левую ногу, таким же способом, "выдавливая" нижние вершины

Попробуйте добиться того же что и на Рис 11.

Рис 11. Половинка туловища.

Tip Совпадающие вершины

Если вы экструдируете, и во время процесса перемещения измените свое мнение и нажмете ESC, вершины для восстановления экструдирования будут находиться на своем первоначальном месте!

Их можно переместить снова, нажав G или сделать то что вы считаете нужным (масштабировать, вращать и т.д.) Но, наверное, вы не захотите снова их экструдировать.

Чтобы полностью избавиться от вершин, получившихся в результате экструдирования, обратитесь к кнопке Remove Doubles Рис 6. Она убирает совпадающие вершины .

Теперь настало время создать другую половинку Гаса, выберите все вершины (A) и нажмите внизу 3D-окна кнопочку похожую на колечко со стрелками Рис 13. Появится меню, из него выберите пункт 3D Cursor. Теперь, не двигайте мышью. Нажмите SHIFT-D чтобы продублировать все выбранные вершины, потом, не двигая мышью кликните ПКМ. Далее нажимаем клавишу М и из появившегося меню Mirror Axis, выбираем пункт Local X, чтобы зеркально отразить дубликат. Результат на Рис 14

Рис 13. Установка курсора как центра.

Рис 14. Отражение половинки туловища, для получения целого тела.

Снимите выделение с вершин и снова выберите все, нажав дважды A и удалите совпадающие вершины, нажав кнопку Remove doubles, Рис 6. Появится окошко, которое сообщит вам что удалено 8 вершин.

Tip | Относительно центра
 | Все масштабирования, вращения и другие модификации в Blender'е, происходят или же относительно 3D-курсора или центра объекта или же относительно барицентра выбранного объекта, в зависимости от того какой из четырех пунктов меню выбран после нажатия соответствующей кнопки Рис 13. Кнопка с изображением прицела, делает курсор центром модификаций.

Tip Перемещение курсора

Здесь мы предположили, что курсор никогда не перемещался от своей первоначальной позиции. Но вы можете перемещать курсор кликая ЛКМ в 3D-окне.

Если вам необходимо расположить курсор в какую-нибудь конкретную точку сетки, как в данном случае, расположите его рядом с желаемым местом и нажмите SHIFT-S. Это вызовет меню привязки (Snap). Выбор Curs->Grid расположит курсор четко на сетку. Curs->Sel расположит курсор четко на выбранном объекте. Остальные пункты меню перемещают, в основном объекты, а не курсор.

Используя знания о перемещении курсора, поместите курсор прямо над туловищем Гаса, на один квадратик решетки выше Рис 15. Добавьте еще один куб (SPACE>>ADD>>Mesh>>Cube). Нажмите G чтобы включить режим перемещения для новосозданных вершин и переместите их ниже, ограничивая движения нажатием СКМ, как на Рис 15.

Рис 15. Последовательность добавления головы.

Теперь сделаем всю форму более гладкой, нажав кнопку SubSurf Рис 16. Убедитесь, что значение двух цифровых кнопок ниже, установлено на 2. Выйдите из режима редактирования (TAB) и переключитесь из режима каркасного отображения объекта, по умолчанию, в режим отображения сплошной поверхности объекта Z. Гас должен выглядеть как Рис 17 слева. Техника SubSurf (подразделение поверхностей) динамически вычисляет гладкий высокополигонный меш из грубого низкополигонного меша.

Рис 16. Окно кнопок редактирования.

Рис 17. "Сглаживание" Гаса.

Чтобы сделать его гладким, на панели Link and Materials, нажмите кнопку SetSmooth Рис 16. Теперь Гас имеет гладкое туловище, но по средине присутствует темная полоса Рис 17. Это потому, что SubSurf вычисляя меш, использует информацию о направлении нормалей грубого меша, а это может вызвать подобные эффекты после экструдирования или отражения. Чтобы перерассчитать нормали заново, перейдите в режим редактирования (TAB), выберите все вершины (A) и нажмите CTRL-N. Кликните ЛКМ по появившемуся меню Recalc normals outside. Теперь Гас будет симпатичным и гладким как на Рис 17, справа.

Нажмите СКМ и перемещайте мышь, чтобы посмотреть на Гаса под разными углами. Он слишком толстый! Переключитесь на вид сбоку NUM 3. Включите режим редактирования,если он не включен и вернитесь на каркасный режим отображения объекта( Z), затем выберите все вершины A Рис 18.

Рис 18. Делаем Гаса тоньше.

Теперь, чтобы сделать Гаса тоньше, нажмите S и двигайте мышь горизонтально. Кликните СКМ чтобы ограничить масштабирование только по одной из осей. Теперь если вы будете двигать мышь к Гасу, он будет становиться тоньше, но сохранит свою высоту. Вы также заметите, что на панели 3D-окна отображается фактор масштабирования, в виде трех цифр. После нажатия СКМ, только одна из этих цифр изменяется. Нажмите и удерживайте CTRL. Теперь фактор масштабирования будет снижаться с шагом в 0.1. Масштабируйте Гаса до 0.2 единиц и зафиксируйте размеры нажатием ЛКМ.

Переключитесь на вид спереди и включите режим отображения сплошной поверхности объекта (Z), вращайте вид с помощью СКМ. Гас выглядит на много лучше!

<<< Пред | След >>>
Ваша первая анимация за 1 час | Давайте посмотрим, на кого он похож


Давайте посмотрим, на кого он похож

Мы не можем больше ждать и хотим первый рендеринг! Для этого нам необходима предварительная подготовка.

Кликните SHIFT-ЛКМ по маленькой, самой дальней правой кнопочке, в верхнем углу панели управления слоями Рис 19 чтобы сделать видимыми слой 1 (с Гасом) и слой 10 (с камерой).

Рис 19. Отображение 1 и 10 слоя.

Запомните, что последний выбранный слой является активным, поэтому все последующие добавления будут автоматически направляться в 10 слой

Выберите камеру ПКМ и переместите ее приблизительно на x=7,y=-10,z=7. Это можно сделать, нажав G тащить камеру с нажатой клавишей CTRL.

Tip | Ввод точных данных расположения и вращения
 | Если вы предпочитаете задавать местоположение объекта вводом цифровых значений с клавиатуры, то вы можете это сделать так: нажмите N и появиться диалог с цифровыми кнопками, где вы и можете ввести значения с клавиатуры, кликнув по цифрам SHIFT-ЛКМ Рис 20. Трансформация объекта будет тут же отображаться в 3D-окне. Чтобы закрыть диалог кликните по крестику в верхнем левом углу, а чтобы свернуть - кликните по треугольничку.

Рис 20. Окно, где с клавиатуры можно ввести значения поворота/позиции и т.д.

Чтобы направить камеру на Гаса, выберите камеру и Гаса, при помощи SHIFT-ПКМ. Теперь камера будет сиреневая, а Гас светло-розовый. Нажмите CTRL-T и из меню выберите Old Track. Это заставит камеру следить за Гасом и она все время будет направлена на него. Теперь вы можете перемещать Гаса куда захотите и убедитесь, что Гас всегда будет в центре вида из камеры!

Tip Слежение

Бывает часто, что следящий объект, уже имеет свое вращение. В результате, нажатие CTRL-T не даст желаемого результата.

В этом случае нужно выбрать следящий объект, в данном случае камеру, и нажмите ALT-R чтобы удалить любые данные вращения объекта. После этого камера будет четко следить за Гасом!

На Рис 21 показан Гас, при виде сверху, спереди, сбоку и из камеры. Чтобы включить вид из камеры нажмите NUM 0.

Рис 21. Положение камеры относительно Гаса.

Теперь нам необходима земля, на которой Гас будет стоять. При виде сверху (NUM 7), и с выключенным режимом редактирования, добавьте плоскость (SPACE>>ADD>>Mesh>>Plane). Важно быть вне режима редактирования, иначе, новодобавленный объект станет частью объекта, который в данный момент в режиме редактирования, как это было с головой Гаса, когда мы ее добавляли. Ели курсор там где показано на Рис 21 , тогда плоскость появится по средине головы Гаса. Переключитесь в объектный режим и в вид спереди и переместите ( G) плоскость вниз, к ногам Гаса, используйте CTRL чтобы сохранить выравнивание с Гасом.

Переключите центр модификации объекта от курсорного (который мы включили в начале) к объектному, нажав выделенную кнопку которая показана на Рис 22. Перейдите на вид из камеры (NUM0) и, с выбранной плоскостью, нажмите S, чтобы начать масштабирование.

Рис 22. Изменение центра модификации объекта.

Увеличьте плоскость так, чтобы ее края заходили за пределы видимости камеры, ориентируйтесь по внешней пунктирной рамке камеры.

При виде сверху (NUM 7) добавьте освещение типа Lamp (лампа) (SPACE>>ADD>>Lamp) спереди от Гаса, но с другой стороны по отношению к камере, например на (x= -9, y= -10, z= 7) Рис 23

Рис 23. Установка освещения.

Переключитесь в окно кнопок управления освещения, нажав сначала в заголовке окна кнопок, кнопку с шариком, на Рис 24 слева, (или F5). После чего, правее, появятся еще пять кнопок. Кликните по кнопке с рисунком лампочки.

Рис 24. Кнопки управления освещением.

Здесь нажмите кнопку Spot переключив свет обычной лампы в направленный свет Рис 25 и придайте свету немного желтоватый (R=1,G=1,B=0.9) цвет. В панели Shadow and Spot, установите параметр ClipSta: на 5, Samples: на 4 и Soft: на 8.

Рис 25. Настройка освещения.

Сделайте так, чтобы луч света следил за Гасом, также, как это было сделано для камеры (Выберите лампу Spot, нажмите SHIFT выберите Гаса, нажмите CTRL-T и выберите Old Track. Если вы добавляли лампу при виде сверху, то вам не нужно удалять параметры вращения через ALT-R

В том же месте где и лампа Spot, и при виде сверху, добавьте вторую лампу (SPACE>>ADD>>Lamp). Эту лампу сделайте типа Hemi и установите Еnergy на 0.6 Рис 26

Рис 26. Настройка лампы Hemi

Tip | Две лампы?
 | Присутствие двух и более ламп, помогает сделать освещение более мягким и реалистичным. В действительности, свет никогда не приходит только из одной точки. Вы узнаете об этом больше в главе Освещение.

Теперь мы готовы к рендерингу. Перейдите к кнопкам рендеринга, нажав кнопку с изображением картинки в заголовке окна кнопок или нажмите клавишу F10.

В кнопках рендеринга, на панели Format, установите размер картинки 640x480 при помощи цифровых кнопок. На панели Render, включите кнопку Shadow (Тень), а также кнопку OSA см. Рис 28. Эти кнопки включают тени и сглаживание (OSA - oversampling), чтобы предотвратить появление ступенек.

Рис 28. Окно кнопок рендеринга

Теперь вы можете нажать кнопку RENDER или F12. Результат на Рис 29... и весьма бедно. Нам необходимы материалы! И больше деталей, глаза, рот и т.д.

Рис 29. Ваш первый рендеринг. Поздравляю!

Tip Сохранение

Если вы этого еще не сделали, то сейчас самый раз сохранить вашу работу, через меню File>>Save Рис 30, или CTRL-W

Blender всегда предупредит вас, если вы хотите сохранить уже существующий файл.

Blender делает автосохранение вашей работы во временную директорию. По умолчанию это происходит каждые 4 минуты. Это еще один способ вернутся к последним изменениям объекта (undo)!

Рис 30. Меню сохранения.

<<< Пред | След >>>
Создание туловища | Материалы и текстуры


Материалы и текстуры

Выберите Гаса, настало время добавить ему хороший материал, на подобие печенья. На панели окна кнопок нажмите кнопочку с серым шариком (или нажмите клавишу F5), правее сразу включится кнопочка с красным шариком Рис 31 .

Рис 31. Кнопки включения Окна материалов.

Окно кнопок будет пустым, потому что у Гаса нет материала, пока что. Чтобы добавить материал, найдите панель Material и нажмите в ней прямоугольную кнопку Add New, или рядом, маленькую квадратную кнопку, со стрелками, и из меню выберите ADD NEW Рис 32.

Рис 32. Кнопка добавления материалов.

В окне кнопок, появятся несколько панелей с кнопками, а вместо надписи Add New, появится строка с названием материала, по умолчанию, "Material". Измените его на что-то осмысленное, типа GingerBread (Рыжий Хлеб).

Измените значения материала по умолчанию, как на Рис 33, чтобы получить первый шероховатый материал.

Рис 33. Окно кнопок материала и первый материал.

В окне кнопок материала, справа, найдите панель Texture и нажмите в ней прямоугольную кнопку, с надписью Add new, или чуть ниже, маленькую квадратную кнопку, со стрелками, и из меню выберите ADD NEW Рис 34. Мы добавили текстуру в первый канал. Назовите ее, например "GingerTex"

Рис 34. Кнопка добавления текстуры, в окне кнопок материалов

Перейдите в окно кнопок текстуры, нажав на кнопку как на Рис 35 или нажав клавишу F6

Рис 35. Кнопка окна управления текстурой.

На средней панели, нажмите кнопку Stucci и затем, на появившейся панели Stucci, установите параметры как показано на Рис 36.

Рис 36. Окно кнопок управления текстурой с текстурой stucci.

Вернитесь в окно кнопок материалов (F5) и на самой крайней правой панели, выберите закладку Map To и настройте кнопки текстуры как на Рис 37. Настройки, которые актуальны для нас в этом окне, это отжать кнопку Col, включить кнопку Nor и увеличьте значение слайдера Nor на 0.75. Это придаст нашей текстуре Stucci рельефность ("bumpmap") и сделает Гаса более похожего на хлеб.

Рис 37. Настройки текстуры Stucci в окне кнопок материалов.

Вы можете добавить еще одну текстуру, назвав ее 'Grain' и настройте ее, включив только Ref и значение Var установите на 0.4 Рис 38. Используйте простую текстуру Noise.

Рис 38. Настройки дополнительной текстуры Noise во 2 канале.

Добавьте также материал и для пола, например, темно-синий Рис 39.

Рис 39. Очень простой материал для пола.

Осталось добавить пару последних штрихов, это глаза и некоторые другие детали.

Сначала включите только 1 слой, кликнув ЛКМ по кнопке 1 слоя Рис 40. Это скроет лампы, пол и камеру.

Рис 40. Кнопки управления отображением слоев.

Поместите курсор по центру головы Гаса, только учтите, что вы в 3D-пространстве, и вы должны проверить расположение курсора минимум в двух видах! Добавьте сферу (SPACE>>ADD>>Mesh>>UVsphere). Вас спросят о количестве Segments: (меридианов или сегментов) и Rings:(параллели или кольца) из которых состоит сфера. По умолчанию 32, это слишком много для нашей задачи, для обеих параметров используйте значение 16. Сфера показана в первом рисунке, вверху Рис 41.

Уменьшите ее (S) до 0.1, во всех измерениях, потом переключитесь на вид сбоку ( NUM 3) и масштабируйте ее только в горизонтальном направлении, до 0.5 (Вторые два рисунка Рис 41).

Рис 41. Последовательность создания глаз.

Если необходимо, то увеличьте вид NUM + или CTRL-СКМ (или колесиком мыши). И затем переместите сферу (G) влево так, чтобы она находилась на половине головы (Первая картинка во втором ряду Рис 41).

Вернитесь на вид спереди (NUM 1) и передвиньте сферу правее. Поместите ее там, где у Гаса должны быть глаза.

Отразите зеркально дубликат глаза, относительно курсора, как это мы делали с туловищем Гаса (нажмите внизу 3D-окна кнопочку похожую на колечко со стрелками Рис 13. Появится меню, из него выберите пункт 3D Cursor, нажмите SHIFT-D, ПКМ, потом М из появившегося меню выбираем Local X). Теперь у Гаса два глаза.

Выйдите из режима редактирования, и разместите курсор как можно точнее в центр лица Гаса. Добавьте еще сферу и масштабируйте/перемещайте ее как описано раньше, но сделайте ее меньше и разместите ниже и правее курсора, как на Рис 42, по центру.

Рис 42. Создаем рот инструментом вращение (Spin).

Теперь, в окне кнопок редактирования (F9), найдите панель Mesh Tools Рис 43. В ней установите Degr: на 90, Steps: на 3 и включите кнопку Clockwise:. Затем, нажмите SpinDup. Это создаст 3 дубликата выбранных вершин, по дуге в 90° , где курсор это центр. В результате у Гаса появился рот, как на последнем рисунке Рис 42.

Рис 43. Кнопки инструмента Spin.

Теперь, имея кое-какой опыт, добавьте несколько сплющенных сфер, создав Гасу пуговицы. Сделав одну, выйдите из режима редактирования, нажав SHIFT-D продублируйте ее несколько раз и разместите как на Рис 44.

Рис 44. Готовый Гас!

Дайте глазам шоколадно подобный материал, как вверху на Рис 45, для рта назначьте белый, как сахар, материал, чуть ниже на Рис 45, пуговицы сделайте красной, белой и зеленой. Сверху вниз как на Рис 45.

Рис 45. Несколько "сладких" материалов.

Tip | Совместное использование материалов
 | Чтобы дать объекту такой же материал, как и у другого объекта, выберите объект и из меню материалов(квадратная кнопка со стрелками, в окне кнопок материалов, на панели Material), выберите нужный материал.

Рис 46. Выбор существующего материала.

Когда закончите с материалами, установите 10 слой снова видимым, вы уже должны знать как это сделать, появится пол, лампы и камера и теперь сделаем рендеринг (F12). Результат должен быть более-менее похож, как на Рис 47.

Рис 47. Готовый Гас после рендегинга.

Теперь вы можете сохранить вашу картинку. Нажмите F3. Вам будет предоставлено файловое окно, напечатайте название рисунка и сохраните его.

Tip Тип картинки и расширение

Вы должны определить тип картинки (JPEG, PNG и т.д.) перед тем, как нажмете F3. Настройки находятся в окне кнопок рендеринга, Рис 28 , раздел Давайте посмотрим, на кого он похож используйте всплывающее меню Рис 48.

Помните, Blender не добавляет расширение автоматически, по умолчанию, вы должны его напечатать. Вы научитесь, как добавлять расширение автоматически, в соответствующей главе.

Рис 48. Меню выбора типа файла.

<<< Пред | След >>>
Давайте посмотрим, на кого он похож | Оснащение


Оснащение

Если бы нам нужна была только картинка, то этого было бы достаточно, но мы хотим чтобы Гас двигался! Следующий шаг - это мы встроим в него скелет или арматуру, который и будет его двигать. Это самая интересная часть.

У нашего Гаса будет очень простое оснащение, четыре конечности: две руки и две ноги, без суставов (локтей или коленей) и даже без стоп и кистей.

Поместите курсор туда, где будет плечо, нажмите SPACE>>ADD>>Armature. Появится ромбообразный объект, простирающийся от 3D-курсора до указателя мыши. Это кость арматурной системы. Расположите другой конец арматуры там, где у Гаса рука при помощи Рис 49 ЛКМ. Кость зафиксируется и будет создана новая кость, из конца предыдущей, создавая таким образом, цепочку костей. Но нам сейчас не нужна еще одна кость, поэтому нажмите ESC (или кликните ПКМ), чтобы остановить создание другой кости.

Рис 49. Добавление первой кости, безлоктевой руки.

Оставаясь в режиме редактирования, переместите курсор в то место, откуда начинается нога и добавьте новую кость (SPACE>>ADD>>Armature) и затем вытяните другую до стопы, как на Рис 50.

Рис 50. Добавление второй кости, безколенной ноги.

Теперь расположите курсор по центру туловища и выберите все кости, нажав A (после этого кости станут желтого цвета), продублируйте их SHIFT-D, затем, не двигая мышкой, кликните ПКМ и нажмите М, из появившегося меню Mirror Axis, выбираем Global X, чтобы зеркально отразить дубликат.

После этого, вернитесь на вид спереди NUM1 и нажмите А, чтобы снять выбор с костей. У вас должно получиться что-то подобное Рис 51 .

Рис 51. Готовая арматура.

Если вы посмотрите на окно кнопок редактирования ( Рис 16, глава Создание туловища) то увидите что оно теперь совсем другое, и, как только вы выбрали все кости (A), покажутся кнопки арматуры Рис 52.

Рис 52. Окно кнопок редактирования арматуры.

Сначала нажмите кнопку Draw Names чтобы увидеть названия костей, потом, с помощью ЛКМ кликните по названиям (Bone, Bone.001...), в окне кнопок редактирования Рис 52 и измените их на что-то типа Arm.R, Arm.L, Leg.R, Leg.R. Выйдите из режима редактирования (TAB).

Tip | Название костей
 | Очень важно называть кости с окончанием '.L' или '.R' чтобы различить между левой и правой, потому что редактор Действия, тогда сможет автоматически 'зеркально отразить' положения вашего персонажа.
<<< Пред | След >>>
Материалы и текстуры | Оболочка


Оболочка

Теперь, нам нужно сделать так, чтобы деформация в арматуре вызывала соответствующую деформацию в теле Гаса. Это делается в процессе (Skinning), где вершины назначаются к костям (арматуре) и следовательно подчиняются их движениям.

Сначала выберите туловище Гаса, потом нажмите SHIFT и выберите арматуру после этого тело станет сиреневым, а арматура светло-розовая. Нажмите CTRL- P чтобы сгруппировать объекты, способом "родитель>потомок"(Parenting) . Появится диалог Рис 53. Выберите Use Armature.

Рис 53. Привязка объекта к арматуре

Появится еще одно меню, которое спросит вас, мол, что вы хотите, чтобы Blender сделал еще: создать пустую группу вершин или создать и заполнить группы вершины Рис 54.

Рис 54. Автоматическая опция Skinning

В нашем примере, мы попробуем автоматическую опцию и выберем пункт меню Create From Closest Bones (Автоматически создать группу для ближайших костей)

Теперь выберите только туловище Гаса и переключитесь в режим редактирования (TAB). Вы заметите, что окно кнопок редактирования (F9), снова изменилось и в его левой части, в панели Link and Material, появились меню групп вершин и их кнопки Рис 55.

Рис 55. Кнопки групп вершин.

При нажатии на на кнопку со стрелками (под надписью Vertex Groups), появится меню со всеми доступными группами вершин Рис 56. Кнопки Select и Desel. указывают какие вершины к какой группе принадлежат. Постарайтесь не путать кнопки Select и Deselect для материалов, которые находятся правее от нужных нам кнопок!

Рис 56. Меню с группой вершин, которые были созданы автоматически во время процесса skinning.

Выберите группу правой руки (Arm.R) и нажмите кнопку Select. Вы должны увидеть что-то типа этого Рис 57.

Рис 57. Гас в режиме редактирования и с выбранной группой вершин правой руки - Arm.R .

Вершины, которые обозначены желтыми колечками, на Рис 57 принадлежат группе деформации, потому что автоматический процесс skinning определил, что эти вершины самые близкие к данной арматуре, но это не совсем правильно, так как некоторые принадлежат голове или к груди. Чтобы убрать эти вершины из группы, снимите выбор со всех "правильных" вершин, используя выбор рамкой (клавиша B), но, рамку "рисуйте" СКМ (или ПКМ). Таким образом, снимется выбор со всех выбранных вершин, которые находились в пределах рамки.

Как только у вас останутся выбранные только "неправильные" вершины, нажмите кнопку Remove, Рис 55 чтобы убрать их из группы Arm.R.

Если, после нажатия на кнопку Select, вы заметили, что в данную группу необходимо добавить вершины, тогда просто выберите недостающие вершины рамочкой (клавиша B), и нажмите кнопку Assign Рис 55.

Снимите выбор со всех вершин (A) и перейдите к другой группе. Проверьте их все и убедитесь, что они выглядят как на Рис 58.

Рис 58. Четыре группы вершин.

Tip | Группы вершин
 | Будьте внимательны, когда назначаете/удаляете вершины из группы. Если вдруг увидите не естественную деформацию, то вероятнее всего, вы забыли про какие-то вершины или захватили лишние. Конечно же вы можете подкорректировать ваши группы вершин в любой момент.

Tip Оставшиеся детали

Пожалуйста, обратите внимание, что все, что мы делаем, затрагивает только туловище Гаса, но не его глаза, губы, пуговицы, которые являются отдельными объектами.

Это не проблема для нашей простенькой анимации, но должно быть принято во внимание в более сложных проектах, например, привязать их к туловищу, способом "родитель>потомок"(Parenting), или объединить их, создав цельный меш-объект.

<<< Пред | След >>>
Оснащение | Расположение


Расположение

После того как вы добавили Гасу скелет и привязали вершины к костям, вы можете с ним поиграть, как с куклой, перемещать его кости и наблюдать результат.

Сначала выберите арматуру, потом нажмите прямоугольную кнопку с надписью Object Mode, в заголовке 3D-окна, появится меню и из него выберите Pose Mode, Рис 59.

Рис 59. Меню для включения режима расположения.

Арматура станет синего цвета Рис 60 . Вы в режиме расположения (или режим позы :о)).

Рис 60. Вы в режиме расположения!

Если вы выберите кость, она станет голубой, не розовой, и если вы будете ее двигать (G) или вращать (R) она будет деформировать туловище!

Tip | Первоначальное расположение
 | Blender помнит первоначальное положение арматуры, вы можете к нему вернуться нажав кнопку RestPos в окне кнопок редактирования арматуры Рис 52 в главе Оснащение.

Теперь мы хотим чтобы Гас ходил. Нам необходимо определить четыре различных позы, относительно четырех разных стадий обычного шага. Blender сам позаботится о плавных переходах во время анимации

Сначала проверьте, чтобы счетчик кадров стоял на кадре 1. Номер кадра отображается на цифровой кнопке, которая расположена в крайней правой части панели 3D-окна Рис 61. Если там стоит не 1, то установите.

Рис 61. Номер текущего кадра.

Теперь, используя только вращение для каждой кости за раз (R), поднимите немного Leg.L и Arm.R, а Arm.L немного опустите, как на Рис 62

Рис 62. Наша первая поза.

Выберите все кости, нажатием A. Переместите курсор мыши в 3D-окно и нажмите I . Появится меню Рис 63. Выберите LocRot. Или из меню Armature выберите Insert Keyframe. Это установит расположение и ориентацию всех костей и сохранит все это в первом кадре.

Рис 63. Сохранение позы в кадр.

Эта поза, представляет Гаса в середине шага, во время его движения вперед с левой ноги, которая находится над полом.

Теперь перейдите в 11 кадр, или введя номер кадра в цифровую кнопку или нажмите СТРЕЛКУ ВВЕРХ

Переместите Гаса в другую позицию, как на Рис 64, Leg.L впереди и Leg.R сзади. Пожалуйста, обратите внимание, что Гас ходит на месте!

Рис 64. Наша вторая поза.

Снова выберите все кости и нажмите I чтобы сохранить расположение в 11 кадре.

Нам необходима еще третья поза в кадре 21, с поднятой вверх правой ногой, так как мы находимся по середине другой половины шага.

Эта поза - зеркальная поза той, которую мы определили в 1 кадре, поэтому вернитесь в кадр 1 и из меню Armature, на панели 3D-окна Рис 65, выберите Copy Current Pose.

Рис 65. Копирование позы в буфер

Вы скопировали позу в буфер обмена. Перейдите в кадр 21 и вставьте позу, выбрав из меню Armature пункт Paste Flipped Pose Рис 66. Это действие вставит позу, заменив положение костей с индексом .L, на такие же кости с индексом .R, тем самым, эффективно зеркально отразив их!

Рис 66. Вставка зеркально-отраженной копии

Обратите внимание! Поза выставлена, но, она еще не сохранена! Вам по-прежнему надо нажать I, со всеми выбранными костями.

Теперь тем же самым способом скопируйте позу в кадре 11 и вставьте ее зеркальное отражение в кадр 31.

Чтобы завершить цикл, нужно скопировать позу в кадре 1, и без зеркального отражения, вставить ее в кадр 41. Скопируйте ее как обычно, и вставьте, выбрав из меню Armature пункт Paste Pose. Завершите последовательность, сохранив позу, нажав I.

Tip | Просмотр анимации
 | Вы можете включить быстрый просмотр анимации, установив в счетчике 1 кадр и нажав в 3D-окне ALT-A.
<<< Пред | След >>>
Оболочка | Он ходит!


Он ходит!

Единственный оперативный шаг - это основа для ходьбы, и есть еще техника, которая может заставить нашего персонажа ходить по сложному пути, после того, как вы просто определите одиночный шаг, как мы это сделали здесь, но для нашей цели, быстрого старта, этого вполне достаточно

Перейдите к кнопкам рендеринга (F12) и установите начало и конец анимации в 1 и 40 кадре соответственно Рис 67. Так как 41 кадр точная копия кадра 1, то, для получения полного цикла, нам нужно отрендерить кадры только с 1 по 40.

Рис 67. Настройка кнопок рендеринга для анимации.

Теперь, выберите тип файла AVI Raw Рис 67 в основном, это не лучший выбор, об этом поговорим позже, но это самый быстрый тип и будет работать на любой машине. Можно выбрать и AVI Jpeg, что произведет множество компактных файлов, но за счет Jpeg-компрессии потеряется качество.

И в заключении, нажмите ANIM. Не забудьте, что должны отображаться все слои! В нашем случае 1 и 10.

Tip | Остановка рендеринга
 | Если вдруг вы поняли, что допустили ошибку, например, забыли включить 10 слой, вы можете остановить процесс рендеринга, нажатием ESC.

Сцена довольно проста и Blender, вероятно, отрендерит каждую из 40 картинок за пару секунд. Понаблюдайте, как они появляются.

Tip | Отдельный кадр
 | Конечно же, вы всегда можете отрендерить каждый кадр вашей анимации отдельно, выбрав кадр и нажав кнопку RENDER.

После окончания рендеринга, у вас появится файл с именем 0001_0040.avi в поддиректории render, текущей директории, в которой находится ваш .blend-файл.

Вы можете запустить просмотр прямо внутри Blender'а, нажав кнопку Play, ниже кнопки ANIM Рис 67.

Анимация начнет циклически воспроизводиться. Чтобы остановить ее, нажмите ESC

<<< Пред | След >>>
Расположение | Объектный режим


Объектный режим

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Объектный режим След >>>

Объектный режим (ObjectMode)

автор: Martin Kleppmann

перевод: Sailor

Сцена в Blender'е состоит из одного или более объектов, но это не предел, основные объекты описаны в разделе Основные объекты. Каждый объект можно перемещать, вращать и масштабировать; эти операции выполняются в Объектном режиме. Для более детального изменения геометрии меш-объекта, вам необходим Режим редактирования (смотрите раздел Режим редактирования).

После добавления объекта через меню ПРОБЕЛ->Add, Blender по умолчанию переходит в режим редактирования. Для перехода в объектный режим, нажмите клавишу TAB. После этого каркасная модель объекта станет розовой: Это означает, что данный объект выбран и является активным.

Выбор или выделение объектов

Выделение или выбор объекта осуществляется Правой кнопкой мыши. Чтобы выбрать несколько объектов удерживайте Shift и кликайте по объектам Правой кнопкой мыши. В основном, последний выбранный объект становится активным: Он отображается светло-розовым цветом, тогда как неактивные - фиолетовым. Определение активного объекта, важно для многих задач, включая parenting.

Если кликнуть по активному объекту с нажатой клавишей Shift, то выделение будет снято. Нажатие клавиши A выделит все объекты в сцене (если ранее не были выбраны) или снимет выделение со всех (если ранее были выбраны один или более объектов).

Клавиша B активирует инструмент Border select: Он позволяет вам рисовать прямоугольник, удерживая Левую кнопку мыши и затем выделять все объекты, которые попадают во внутрь прямоугольника или касаются его. Обратите внимание, что Border select выделяя объекты, добавляет их к уже выделенным, поэтому, если вы хотите убедиться что выделяется только содержимое прямоугольника, сначала снимите выделение со всех A. Удерживая Shift во время рисования границ прямоугольника - инвертирует операцию: выделение со всех объектов в прямоугольнике снимается. Если нажать клавишу B дважды, то появится кольцо, которое действует также как и прямоугольник. Диаметр кольца можно изменять с помощью колёсика мышки или клавишами NUM+ и NUM-

Перемещение объектов

Клавиша G активирует Режим перемещения(или режим захвата Grab mode) для всех выбранных объектов. Теперь проволочная структура объектов отображается белым цветом, и теперь объекты можно перемещать при помощи мыши (без нажатия кнопок мыши). Для подтверждения нового местоположения объекта, кликните Левой кнопкой мыши или нажмите Enter; для отмены Grab mode, кликните Правой кнопкой мыши или нажмите ESC. Дистанция перемещения объектов отображается в заголовке 3D-окна.

Вы можете заставить двигаться объект строго по оси глобальной системы координат. Для этого, войдите в Режим перемещения(Grab mode), двигайте объект по нужной вам оси, и нажмите Среднюю кнопку мыши. Для выключения режима, кликните снова Средней кнопкой мыши.

Еще один способ включить Grab mode это рисовать прямую линию, с нажатой Левой кнопкой мыши. Возврат объекта в его первоначальное местонахождение, осуществляется клавишами Alt-G.

Вращение объектов

Для вращения объектов, включите Режим вращения (Rotate mode) нажатием R. Также как и в Grab mode, вы можете вращать объект мышью, завершение вращения это клик Левой кнопкой мыши или Enter а отмена Правой кнопкой мыши или ESC.

Вращение в 3D-пространстве происходит вокруг оси, и есть разные способы определить эту ось. Blender определяет ось через ее направление и точку, через которую она проходит. По умолчанию, направление оси ортогонально к вашему экрану. Если вы смотрите на сцену точно спереди, сбоку или сверху, ось вращения будет параллельна одной из глобальных осей системы координат. Если вы смотрите под углом, ось вращения тоже поворачивается, что может привести к неточному вращению вашего объекта. В этом случае, вы можете захотеть сохранить ось вращения параллельной осям системы координат. Чтобы включить эту возможность нажмите Среднюю кнопку мыши во время Режима вращения и наблюдайте за углом поворота в заголовке окна.

Точку, через которую должна пройти ось вращения можно выбрать при помощи меню, в заголовке 3D-окна, которое появляется при нажатии на кнопку, с изображением кольца со стрелками (по умолчанию) (Рис 2).

Рис 2. Меню выбора точки вращения

  • Если выбран первый пункт меню, ось вращения пройдет через центр блока, указывающего границы объекта. (Если выбран только один объект, используется центральная точка объекта, которая не обязательно должна быть в геометрическом центре - центр представлен, в виде фиолетовой точки. Подробнее об этой точке, смотрите раздел Режим редактирования.)

  • Если выбран второй пункт меню, ось проходит через среднюю точку выбранного объекта. Эта разница актуальна только в режиме редактирования (EditMode) и 'Центральная' точка является барицентром всех вершин.

  • Если выбран третий пункт меню, ось вращения проходит через 3D-курсор. Курсор можно расположить в любом нужном для вас месте. При использовании этого инструмента, вы можете легко делать некоторые перемещения, выполняя вращение.

  • Если выбран четвертый пункт меню, каждый выбранный объект получает свою ось вращения, все оси параллельны и проходят через центральную точку каждого объекта, соответственно. Если выбран один объект, то эффект будет такой как и с первой кнопкой.

Все эти детали это теория и она не обязательна, если вы начинающий пользователь; просто поиграйте с инструментами Blender'а и вы почувствуете их.

Другой способ войти в режим вращения, это нарисовать кольцевую белую линию с нажатой Левой кнопкой мыши. Возврат объекта в его первоначальное положение, осуществляется клавишами Alt-R.

Tip | Дискретные изменения
 | Запомните, что удерживание клавиши CTRL во время этих операций, вы получите дискретные изменения: перемещение будет осуществляться значениями целых чисел, вращение по 5°, масштабирование по 0.1 единице.

Масштабирование

Для изменения размеров объекта, нажмите S. Как перемещение и вращение, масштабирование осуществляется при помощи движения мыши, завершение масштабирования это клик Левой кнопкой мыши или Enter, а отмена Правая кнопка мыши или ESC.

Для масштабирования в 3D-пространстве, необходима центральная точка. Эта точка определяется теми же кнопками, что и ось вращения (Рис 2, раздел Вращение объектов). Если вы увеличиваете размер объекта, то все точки объекта будут двигаться от выбранной точки, а если уменьшаете, то все точки объекта будут приближаться к ней.

По умолчанию, выбранный объект масштабируется равномерно во всех направлениях. Чтобы изменить пропорциональность (сделать объект длиннее, шире, и т.д.) масштабирования этот процесс можно привязать к одной из глобальных осей координат, таким же способом, как и при перемещении объекта: Войдите в режим масштабирования, переместите чуть-чуть мышь по оси, по которой вы хотите масштабировать и нажмите Среднюю кнопку мыши. Для возврата к равномерному масштабированию, нажмите снова Среднюю кнопку мыши. Вы увидите фактор масштабирования в заголовке 3D-окна.

Другой способ войти в режим масштабирования, это нарисовать V-образную линию с нажатой Левой кнопкой мыши. Возврат объекта к его первоначальным размерам, осуществляется клавишами Alt-S.

Зеркальное отражение объектов

Еще один инструмент - это создание зеркальной копии объекта. Чтобы создать зеркальную копию объекта по глобальной оси X или Y, войдите в режим редактирования, выберите все вершины и нажмите М. В появившемся меню выберите соответствующий пункт Global X ,Y.

Цифровой диалог

В некоторых случаях, вам может понадобиться произвести преобразования объекта (вращение, масштабирование и перемещение) задав цифровые значения на прямую, вместо того, чтобы делать это мышью. Для этого, выберите нужный вам объект и нажмите клавишу N. Появится цифровой диалог Transform Properties (Свойства трансформации) (Рис 3); Удерживая Shift, кликните Левой кнопкой мыши чтобы ввести значения и нажмите Enter. Чтобы закрыть окно диалога, нажмите крестик в левом верхнем углу, чтобы свернуть - нажмите треугольник.

Рис 3. Цифровой диалог

Другие общие инструменты для редактирования объектов

Далее идет список (неполный) инструментов Blender'а которые используются в Объектном режиме (ObjectMode).

Создание дубликатов

Нажмите Shift-D чтобы создать точную копию выбранного объекта. Копия создастся на том же самом месте, и автоматически включится режим перемещения(Grab mode).

Связанные дубликаты

Нажмите Alt-D чтобы создать новый образец выбранного объекта. В этом случае дубликат будет связан с основным объектом: если вы модифицируете один из связанных объектов в Режиме редактирования, все связанные с ним копии будут модифицированы тоже. Дубликат создастся на том же самом месте, что и оригинальный объект и автоматически включится режим перемещения(Grab mode).

Объединение объектов

Нажмите Ctrl-J для объединения всех выбранных объектов в один меш-объект. Центральная точка получившегося объекта будет там, где был предварительно активный объект (обычно последний выбранный).

Выбор связанных объектов

Нажмите Shift-L чтобы выбрать все дубликаты объекта, связанные с выбранным в данный момент объектом. Вы можете выбрать доступные для объекта связи с IPO, Данными, Материалом или Текстурой (Рис 6).

Рис 6. Доступные для объекта связи.

Стирание

Нажмите X или Delete , чтобы стереть выбранный объект. Использование клавиши X на много удобнее для большинства людей, потому что она находится как раз по левую руку.

<<< Пред | След >>>
Он ходит! | Связь (группировка) объектов способом "родитель-потомок"(Parenting)


Связь (группировка) объектов способом "родитель>потомок"(Parenting)

Чтобы создать группу объектов, вам необходимо сделать один из них родительским(parent) по отношению к другим.

Это легко сделать, выбрав, как минимум два объекта, и нажав CTRL-P и затем подтвердите действия в диалоге Make Parent? который появится. Активный объект будет сделан родительским по отношению ко всем другим. Центр всех объектов-потомков будет связан с центром родительского объекта пунктирной линией.

Теперь вращение, масштабирование и перемещение объекта-родителя, будет также касаться и всех связанных с ним объектов-потомков. Связь объектов способом "родитель>потомок"(Parenting)очень важный инструмент и имеет очень широкое применение, которое будет описано в следующих главах.

Нажатие SHIFT-G с выбранным активным объектом, вызовет меню Group Selection (Рис 3). Оно содержит:

  • Children - выберет все активные объекты-потомки и потомки этих потомков, до последнего поколения.

  • Immediate Children - выберет все активные объекты-потомки, но не потомки этих потомков.

  • Parent - выберет родителя активного объекта.

  • Objects on shared layers - это фактически не имеет никакого отношения к объектам-родителям. Это выберет все объекты в том же самом слое(ях) активного объекта.

Рис 3. Выбор группы

Вы можете разорвать родительскую связь объектов, нажав ALT-P. И выбрав из меню (Рис 4):

  • Clear parent - освобождает объекты-потомки, которые возвращается к их первоначальному расположению, вращению и размеру.

  • Clear parent...and keep transform - освобождает объекты-потомки, которые сохраняют расположение, вращение и размер, данные им объектом-родителем.

  • Clear parent inverse - помещает объекты-потомки относительно объекта-родителя, инвертируя связь между ними. Это эффективно очищает преобразование объекта-родителя от объектов-потомков.

Рис 4. Разрыв родительских связей объектов

<<< Пред | След >>>
Объектный режим | Слежение


Слежение

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Объектный режим След >>>

Слежение(Tracking)

Это дает возможность заставить объекты находится "лицом" друг к другу, как бы один из объектов не перемещался.

Просто выберите, по меньшей мере, два объекта и нажмите CTRL-T и кликните по диалогу Make Track?.

По умолчанию, неактивный объект(ы) теперь следит за активным объектом так, чтобы их локальная ось Y указала на прослеживаемый объект. Это не происходит, если объект слежения имеет уже имеет вращение. Вы можете сделать правильное слежение, отменяя вращение (ALT-R) следящего объекта.

Ориентация объекта слежения, также выбрана так, чтобы ось Z была направлена вверх. Вы можете изменить это, выбирая объект слежения, затем переключившись в окно кнопок управления объектами (Object Buttons, F7) и на панели Anim settings выберите ось TrackX (слежения) из шести радиокнопок первой строки и ось UpX (направление вверх) со второй (Рис 5).

Figure 5. Настройка осей слежения.

Чтобы очистить объект от слежения, выберите следящий объект и нажмите ALT-T. Как и в случае разрыва родительских связей объектов, вы можете выбрать или утратить вращение объекта после слежения, или сохранить его.

<<< Пред | След >>>
Связь (группировка) объектов способом "родитель-потомок"(Parenting) | Булевы Операции


Булевы Операции

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Булевы Операции (клавиша W)

Булевы операции будут работать для всех объектов но в действительности, лучше их использовать с твердыми замкнутыми объектами, с хорошо обозначенными внешними и внутренними областями. В случае открытых объектов, внутренность и определенные математическим способом границы граней объекта, удалятся в бесконечность. Таким образом, результат может быть неожиданным для этого объекта. Булевы операции, никогда не затрагивают оригинальные операнды (объекты действия), в результате всегда будет новый объект.

Булевы операции вызываются выбором двух меш-объектов и нажатием клавиши W. Есть три типа Булевых операций, доступных во всплывающем меню Intersect(пересечение), Union(объединение) и Difference(разность)

Булевы операции учитывают Материалы и UV-текстуры, создавая объекты в зависимости от материала или мульти-UV-текстурные объекты.

Рис 6. Опции для Булевых Операций

Для операции "Difference" порядок выбора объектов очень важен. Активный предмет (светло-фиолетовый цвет, в каркасном виде) вычитается выбранным предметом.

Рис 7. Получившиеся объекты, в результате: (оригинал сверху) Intersect(пересечения), Union(объединения), Difference(разности)

Эти функциональные возможности, в настоящее время в интенсивной разработке. Чтобы дать возможность вам использовать эти функции для вашей работы, мы перечислим здесь текущие ограничения:

Известные проблемы Булевых Операций

  • Количество сгенерированных полигонов может быть гораздо больше, по сравнению с оригинальным Меш-объектом. Это особенно справедливо для сложных изогнутых объектов

  • Получившиеся полигоны могут быть низкого качества, это значит, что они могут быть очень длинными и тонкими, а иногда очень маленькими. Чтобы попробовать исправить это, используйте Decimator (Кнопки Редактирования (EditButtons) F9, панель Mesh )

  • Не совпадают вершины на соединении границ двух оригинальных Меш-объектов

  • Вершины на границах дублируются. В некоторых отношениях это хорошо и означает, что вы можете выбрать части оригинального Меш, выбрав в получившемся объекте одну вершину и нажав клавишу (L) в Блендере. Это удобно если вы хотите назначить материалы и т.д. для получившегося объекта. Чтобы избавится от дублированных вершин, нажмите кнопку "Remove Doubles" в окне Кнопок Редактирования (EditButtons)F9, панель Mesh Tools.

  • Булевы Операции могут не сработать, и появится сообщение ("An internal error occurred -- sorry"). Попробуйте чуть-чуть сдвинуть или повернуть объекты.

  • Операции выполняются только между двумя объектами, нет способа выполнить операцию более чем с двумя операндами, таких как пересечение всех этих выбранных объектов с активным объектом.

<<< Пред | След >>>
Слежение | Каркасное(Mesh) моделирование


Каркасное моделирование

Документация Blender'а Том I - Руководство Пользователя
<<< Пред След >>>

Каркасное(Mesh) моделирование

перевод: Sailor

Основные объекты

Чтобы создать объект, нажмите ПРОБЕЛ и выберите "ADD->Mesh". Вызвать меню для добавления объектов можно также нажатием SHIFT+ клавиша А. Затем, выберите из меню нужный вам объект. Ниже описан каждый основной объект (примитив), который вы можете создать в Blender'е. Здесь же представлен скриншот со всеми примитивами.

Рис 1. Основные объекты(примитивы)

Плоскость(Plane)

Стандартная плоскость состоит из 4 вершин, 4 ребер и одной грани. Она подобна листу бумаги, лежащем на столе. Плоскость это не реальный 3D-объект, потому что она плоская и не имеет 'толщины'. Пример объектов, которые могут быть созданы из плоскостей, это наземные поверхности или плоские объекты, такие как верхняя часть стола или зеркало.

Куб(Cube)

Стандартный куб состоит из 8 вершин, 12 ребер и 6 граней и это уже реальный 3-мерный объект. Пример объектов, которые могут быть созданы из куба, это игральные кости, блоки(коробки) или корзины.

Кольцо(Circle)

Стандартное кольцо состоит из N-количества вершин. Количество вершин можно задать во всплывающем окне, при создании кольца. Чем больше количество вершин, из которых состоит кольцо, тем более гладкий будет контур кольца. Пример того, что можно создать из колец, это диски, пластины или любой другой плоский круглый объект.

UV-Сфера(UVSphere)

Стандартная UV-Сфера состоит из N-количества сегментов и N-количества колец. Уровень детализации, может быть задан в появляющемся окне, во время создания UV-Сферы. Высокое количество сегментов и колец, сделает поверхность UV-Сферы более гладкой. Пример того, что можно создать из UV-Сферы, это мяч, голова или жемчуг для ожерелья.

Ico-Сфера(Icosphere)

Стандартная Ico-Сфера состоит из треугольников. Количество подразделений можно определить во всплывающем окне, когда создается Ico-Сфера. Чем выше число подразделений, тем более гладкая будет поверхность у Ico-Сферы. Этот объект обычно используется для получения более симметричного и экономичного размещения вершин, чем у UV-Сферы.

Цилиндр(Cylinder)

Стандартный цилиндр состоит из N-количества вершин. Количество вершин, в круговом поперечном разрезе, может быть задано в появляющемся окне, во время создания объекта. Высокое количество вершин в поперечном разрезе, сделает цилиндр более гладким. Пример объектов, которые могут быть созданы из цилиндра, это рукоятки, ручки или стержни.

Труба(Tube)

Стандартная труба состоит из N-количества вершин. Количество вершин, в поперечном разрезе, может быть задано в появляющемся окне, во время создания объекта. Высокое количество вершин в поперечном разрезе, сделает трубу более гладкой. Пример объектов, которые могут быть созданы из трубы, это собственно трубы, стаканы или бокалы.

Конус(Cone)

Стандартный конус состоит из N-количества вершин. Количество вершин, у кольца в основании, может быть задано в появляющемся окне, во время создания объекта. Чем выше число вершин в кольце основания, тем более гладкий будет конус. Пример объектов, которые могут быть созданы из конуса это шипы или заостренные шляпы.

Сетка(Grid)

Стандартная сетка состоит из N-количества вершин. Разрешение по оси x и y, можно определить в появляющемся окне, во время создания объекта. Большее разрешение, создаст большее количество вершин. Пример объектов, которые могут быть созданы из сетки, это ландшафты (с помощью инструмента пропорционального редактирования) или другие органические поверхности.

Обезьянка(Monkey)

Это подарок от компании NaN для сообщества, и выглядит как шутка программистов или 'Пасхальное Яйцо'. После того как вы нажмете кнопку 'Oooh Oooh Oooh', появится голова обезьянки. Эта обезьянка - талисман Blender'а и зовут её Suzanne (Сюзанна)

<<< Пред | След >>>
Булевы операции(Boolean) | Режим редактирования


Режим редактирования

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Режим редактирования (EditMode)

Введение

Работая в Blender'е с объектами, вы можете использовать два режима: Объектный режим и Режим редактирования(EditMode). В основном, как видно было из предыдущего раздела, операции в Объектном режиме, воздействуют на объекты в целом, а операции в Режиме редактирования воздействуют на геометрию объекта, но не на глобальные свойства, такие как расположение или вращение.

В Blender'е, между этими двумя режимами, вы можете переключаться при помощи клавиши TAB. Режим редактирования, может работать только с одним объектом: с активным. Объект, вне режима редактирования, когда выбран, отображается в 3D-окне фиолетовым цветом (в режиме wireframe - отображается каркасная структура), иначе черным цветом. В режиме редактирования (EditMode), активный объект отображается черным, но каждая вершина выгладит как фиолетовая точка (Рис 4). Выбранные вершины отображаются желтым цветом (Рис 5).

Рис 4. Две пирамиды, одна в режиме редактирования (EditMode) (слева), а другая в объектном режиме(ObjectMode) (справа).

Рис 5. Куб с выбранными вершинами, отображаются желтым цветом .

Структура: Вершины, Ребра и Грани

Все основные меш-объекты, все состоят из трех основных компонентов: вершины, ребра и грани. (Мы не говорим здесь о Curves(Кривые), NURBS и т.д.) Но нет причины для разочарования: эта простота, все еще обеспечивает нас богатством возможностей, которые будут основой для всех наших моделей.

Вершины

Вершина, прежде всего, отдельная точка или позиция в 3D-пространстве. Она обычно ее не видно при рендеринге и в объектном режиме(ObjectMode). (Не путайте центральную точку объекта с вершиной. Она очень похожа, но вы не сможете ее выбрать.)

Чтобы создать вершину в режиме редактирования, нажмите и удерживайте Ctrl и кликните ЛКМ. Так как компьютерный экран двумерный , Blender не в состоянии определить все три координаты вершины по одному клику мышки, поэтому новая вершина появится на той 'глубине' экрана, на которой лежит 3D-курсор. Если до этого была выбрана еще одна вершина, то они автоматически соединятся Ребром.

Ребра

Ребро всегда соединяет вершины прямой линией. Ребра это 'проволока'(wire) из которой состоит меш-объект и которую вы видите в каркасном режиме (wireframе) просмотра. Обычно, они не видимы на отрендеренной картинке - они служат для создания Граней. Для создания ребра, выделите две вершины и нажмите F.

Грани

Грань - наиболее сложная структура в меш-объекте, фактически из нее построена поверхность объекта. Это то, что вы видите после рендеринга меш-объекта. Грань определяется как область между тремя или четырьмя вершинами, с ребром на каждой стороне. Треугольники всегда хорошо работают, потому что они всегда плоские и легки для вычисления. При использовании четырехгранных полигонов, каждый из них все равно внутренне разбит на два треугольника. Это хорошо работает только тогда, когда грань достаточно плоская (все точки лежат в одной воображаемой плоскости) и выпуклая (когда углы не более или равны 180 градусов). Возьмем куб, например, почему мы не видим никаких диагоналей на каркасной модели, которые делили бы квадрат на два треугольника. Ведь возможно построить куб с треугольными гранями, но это было бы очень запутано в режиме редактирования.

Область между тремя или четырьмя вершинами, соединенная ребрами, может и не иметь грани. Если грань не была создана, эта область будет просто прозрачна или ее просто не будет в отрендеренном изображении. Чтобы создать грань, выберите три или четыре подходящих вершины, и нажмите F.

Основы редактирования

Большинство простых операций, доступных в объектном режиме (выбор, перемещение, вращение, масштабирование) точно также работают и с вершинами. Таким образом, вы очень быстро научитесь работать в режиме редактирования. Пирамида со срубленным верхом на Рис 6 была создана следующим образом:

  1. Добавьте в пустую сцену куб. Войдите в режим редактирования.

  2. Убедитесь что снято выделение со всех вершин (фиолетовые). Используя инструмент Вorder select (выбор рамкой)(B) чтобы выбрать четыре верхние вершины.

  3. Проверьте, что центр масштабирования находится не в месте 3D-курсора (смотрите Рис 2 раздел Вращение объектов), включите режим масштабирования (S), уменьшите размер и подтвердите кликнув ЛКМ(Левая Кнопка Мыши).

  4. Выйдите из режима редактирования нажатием TAB.

Рис 6. Пирамида со срубленным верхом

Одна из дополнительных особенностей режима редактирования это режим CircleSelect (выбор кольцом). Этот режим вызывается также клавишей B но, нажимается она два раза, а не один, как для BorderSelect. Появится светло-серое кольцо и любой клик ЛКМ выделит все вершины внутри кольца. Клавишами на цифровой клавиатуре NUM+ и NUM- или колесиком мышки, можно увеличивать или уменьшать диаметр кольца.

Еще одна дополнительная особенность режима редактирования - инструмент Зеркального отражения. Если у вас есть выбранные вершины, и вы нажмете M, вам будет преоставлено меню, содержащее девять параметров. Вы можете выбирать из него действия, чтобы зеркально отразить выбранную вершину (ы) относительно любой из осей X, Y или Z глобальной , локальной, или относительно осей просмотра.

Все операции в режиме редактирования выполняются с вершинами; соединенные ребра и грани автоматически адаптируются, в зависимости от положения вершин. Чтобы выбрать ребро, вам нужно выбрать две конечные точки(вершины)или расположите указатель мыши над нужной гранью и нажмите CTRL-ALT-СКМ. Чтобы выбрать грань, нужно выделить все угловые вершины.

Операций в режиме редактирования достаточно много и большая часть их собрана в окне кнопок редактирования, доступ к операциям осуществляется через нажатие иконки ( [image] ) в заголовке окна или через F9 (Рис 7). Обратите внимание на кнопки на панели Mesh Tools 1:

Рис 7. Кнопки редактирования

  • NSize: - Размер нормалей Blender -единицах, если они отображаются.

  • Draw Normals - Включает и выключает отображение нормалей. Если эта опция включена, то нормали граней отображаются как голубые сегменты.

  • Draw Faces - Если эта опция включена, то грани прорисовываются прозрачно-голубым цветом, или прозрачно-фиолетовым, если они выбраны. Если выключена, то грани скрыты.

  • Draw Edges - Ребра всегда отображаются черным цветом, но если эта кнопка включена, то выбранные ребра будут желтыми. Ребра, соединяющее выбранный и не выбранный узел, отображаются черно-желтым градиентом.

  • All Edges - В объектном режиме отображаются только необходимые ребра. Включив эту опцию, вы заставите Blender отображать все ребра.

Note

Конечно же все цвета вы можете настроить в редакторе тем (Окно пользовательских настроек).

В режиме редактирования, клавишей W вы можете вызвать меню "Specials" (Рис 8). При помощи этого меню, вы получите быстрый доступ к наиболее распространенным функциям, необходимые для полигонного моделирования.

Tip | Совет
 | Вы можете выбрать из всплывающего меню любой пункт, нажатием соответствующей цифровой клавиши. Например, нажатие W, а потом 1, выберет пункт первый и подразделит количество выбранных вершин объекта, без использования мыши.

Рис 8. Меню Specials

  • Subdivide - Каждое выбранное ребро разбивается на два и создаются новые вершины по центру. Грани также разбиваются.

  • Subdivide Fractal - Тоже что и предидущая опция, но новые вершины распологаются случайным образом, который определяет пользователь.

  • Subdivide Smooth - Тоже что и предидущая опция, но новые вершины распологаются по барицентру связанных вершин.

  • Merge - Объединяет выбранные вершины в одну, в месте расположения барицентра или курсора.

  • Remove Doubles - Объединяет все выбранные вершины в одну, когда дистанция между ними ниже заданного значения (0.001 по умолчанию).

  • Hide - Скрывает выбранные вершины.

  • Reveal - Показывает скрытые вершины.

  • Select Swap - Все выбранные вершины становятся не выбранными и наоборот.

  • Flip Normals - Изменяет направление нормалей для выбранных граней.

  • Smooth - Сглаживает меш.

  • Mirror - Тоже что и клавиша M описанная выше.

  • Bevel - Создает фаску на углах.

Многие из этих операци имеют аналогичные кнопки на панели Mesh Tools в окне кнопок редактирования (Рис 5). Здесь же можно задать пороговое значение для Remove doubles.

Отмена последнего дейсвия для Меш-объекта (Undo)

Blender с версии 2.3 имеет полноценную функцию отмены последнего дейсвия (Undo). Она работает только для мешей и только в режиме редактирования.

Функция undo работает в фоновом режиме и сохраняет в памяти все сделанные вами изменения. Нажатие клавиши U в режиме редактирования, вернет меш в первоначальный вид, отменив последнюю операцию (Рис 9).

Операция отмены (Undo)одновременно сохраняется только для одного меша. Вы можете покидать и повторно входить в режим редактирования для того же самого меша без потери информации Undo, но как только вы отредактируете другой меш , информация Undo для первого теряется.

Рис 9. Отмена (Undo) и восстановление (Redo) последнего дейсвия.

Нажатие SHIFT-U восстановит (Redo) последнее дейсвие (Рис 9). Нажатие ALT-U вызовет меню Undo (Рис 10). Это полный список действий undo по названиям, таким образом вы можете быстро найти способ вернуть меш в нужное вам состояние. Меню вызываемое клавишами ALT-U содержит опцию All Changes (Все изменения). Эта опция более мощная чем неоднократное нажатие U, она возвратит меш в то состояние, в котором он был до начала редактирования, даже если все шаги undo исчерпаны.

Рис 10. Меню Undo

Функция undo интенсивно использует память. Меш имеющий 64,000 граней и вершин может использовать более чем 3Mb RAM на каждый шаг отмены. Если ваша машина чувствительна к количеству RAM, то в Окне пользовательских настроек, в опции Edit Methods, можно определить с помощю слайдера количество шагов отмены. Допустимый диапазон от 1 до 64. По умолчанию 32.

<<< Пред | След >>>
Каркасное(Mesh) моделирование | Сглаживание


Сглаживание

Большинство объектов в Blender'е представлены в виде полигонов. Правильно изогнутые объекты часто приблизительно составляются полигонными мешами. Когда рендерите картинку, вы наверняка замечали что эти объекты проявлялись как серия маленьких плоских граней. (Рис 8). Иногда это желанный эффект, но обычно нам необходимо, чтобы наш объект был симпатичным и гладким. Этот раздел, по этапно научит вас, как использовать сглаживание(smoothing) для объектов и применять фильтр Автоматическое сглаживание (AutoSmooth), и как комбинировать сглаживание с фасками граней на одном и том же объекте.

Рис 8. Простой тестовый не сглаженный объект

В Blender'е есть два способа активировать сглаживание граней. Самый простой способ, это установить весь объект как сглаженный или граненный. Чтобы сделать это выберите объект, перейдите в окно кнопок для редактирования (EditButtons) (F9) и на панели Link and Materials нажмите кнопку Set Smooth, показанную на Рис 9 Вы заметите, что кнопка не осталась нажатой, но Blender сгладил каждую грань в меш-объекте. Рендеринг картинки (F12) даст результат как на Рис 10. Заметьте, что контур объекта все еще имеет заметные грани. Активация функции сглаживания, существенно не влияет на геометрию объекта. Вместо этого, изменяется способ вычисления теней относительно поверхностей, что и создает иллюзию гладкой поверхности.

Нажатие кнопки Set Solid вернет объекту оттенок как показано на Рис 8.

Рис 9. Кнопки Set Smooth, Set Solid и AutoSmooth в окне кнопок для редактирования

Рис 10. Тот же объект, что и выше, но полностью сглажен опцией 'Set Smooth'

Другой способ, чтобы сгладить выбранные грани, это войти в режим редактирования для объекта TAB, выбрать грани и кликнуть по кнопке Set Smooth (Рис 11). Когда меш в режиме редактирования, только выбранные грани будут нести атрибут "сглаживание". Вы можете снова сделать грани грубыми (снять атрибут "сглаживание") таким же способом: выбрать грани и кликнуть по кнопке Set Solid.

Рис 11. Объект в режиме редактирования, с несколькими выбранными гранями.

Использование только вышеописанных методов, для создания комбинированных, гладких и грубых граней, может вызвать затруднения. Хотя есть еще способ (такой как разбивка набора граней, выбирая их и нажимая Y), но есть более простой способ комбинировать сглаженный и грубые грани.

Нажатие кнопки AutoSmooth, панель Mesh в окне кнопок для редактирования (Рис 12), заставит Blender, беря за основу угол между гранями, определять, какая грань должна быть сглажена, а какая нет (Рис 13). Углы модели, которые являются более острыми чем угол, указанный в "Degr", сглаживаться не будут. Этот параметр вы можете изменять, определяя таким образом качество сглаживания вашей модели. Высокое значение, сделает большее количество сглаженных граней, в то время как самое низкое значение, выдаст меш, который был настроен полностью грубым.

Опция AutoSmooth, работает только с теми гранями, которые имеют атрибут сглаженные. Меш-объект или другие грани, которые настроены как грубые, при включенной опции AutoSmooth - не изменятся. Это даст вам дополнительный контроль, над гранями, которые будут сглажены, а которые нет, отменяя действия, сделанные алгоритмом AutoSmooth.

Рис 12. Группа кнопок AutoSmooth

Рис 13. Тот же тестовый объект, с включенной опцией AutoSmooth

<<< Пред | След >>>
Режим редактирования | Инструмент пропорционального редактирования


Инструмент пропорционального редактирования

При работе с плотными меш-моделями, бывает трудно сделать точную настройку вершин, без повреждения глыбами и складками поверхности модели. Инструмент пропорционального редактирования работает подобно магниту, гладко искажая поверхность модели.

В виде сверху, добавьте в сцену плоскость, нажав ПРОБЕЛ>>MESH>>PLANE. Затем подразделите ее несколько раз, нажав клавишу W>>SUBDIVIDE (или кликните по кнопке SUBDIVIDE в окне кнопок редактирования (EditButtons)) и у вас получится достаточно плотная меш-плоскость (Рис 14). Вы также можете добавить решетку, на прямую, через меню ПРОБЕЛ>>MESH>>GRID, определив число вершин в каждом направлении. После этого снимаем выделение с вершин клавишей A.

Tip | Vertex limit
 | In Blender, up to 2.31, a single mesh can have no more than 65,000 vertices. From 2.32 onwards meshes can have 2 billion vertices.

Рис 14. Плотная меш-плоскость.

Выберите одну вершину правой кнопкой мыши (Рис 15).

Рис 15. Плотная меш-плоскость с одной выбранной вершиной

Оставаясь в режиме редактирования, активируйте инструмент пропорционального редактирования при помощи клавиши O или выберите из меню, внизу 3D-окна, Mesh>Proportional Editing. В заголовке 3D-окна появится кнопка со всплывающим меню Рис 16.

Tip | Отображение панели инструментов
 | Если иконка на панели инструментов не видна из-за того, что 3D-окно слишком узкое, вы можете сдвинуть панель, кликнув по ней средней кнопкой мышки, и удерживая ее нажатой, сдвиньте панель влево или вправо.

Рис 16. Кнопка пропорционального редактирования.

Переключитесь на вид спереди (клавиша 1 на цифровой панели) нажмите клавишу G (перемещение объекта). Двигая вершину вверх, заметьте, как соседние вершины перемещаются за ней по профилю кривой, подобно той, что нарисована в пункте меню, напротив надписи Sharp Falloff (Рис 16). Этот профиль задан по умолчанию.

Вы можете изменить профиль, выбрав из меню кнопки соответствующий пункт или нажав SHIFT+O. Заметьте, что вы не можете изменить профиль кривой, посреди выполнения операции пропорционального редактирования; вы должны нажать ESC и отменить операцию, перед тем как переключить профиль. Конечно же, вы можете управлять профилем и через меню, внизу 3D-окна, выбирая Mesh>Proportional Falloff>Sharp или Smooth.

После перемещения вершины в нужное место, зафиксируйте положение кликнув левой кнопкой мышки или, если вас не устраивает позиция вершины, отмените операцию и вернитесь к первоначальному положению вершины клавишей ESC.

Рис 17. Различный способ пропорционального редактирования

Вы также можете изменять радиус влияния на соседние вершины (показан в виде кольца на Рис 17) во время редактирования, нажимая цифровые клавиши NUM + и NUM - соответственно, или колесиком мышки. Как вы измените радиус, так и вершины, окруженные кольцом, приспособятся к его позиции соответственно.

Вы можете получить великолепные эффекты, используя инструмент пропорционального редактирования вместе с инструментами масштабирования (S-Scaling) и вращения(R-Rotation), как показано на Рис 18.

Рис 18. Ландшафт полученный с помощью инструмента пропорционального редактирования

Комбинируйте эти способы с раскраской вершин для создания фантастических ландшафтов.

На Рис 19 показан результат пропорционального редактирования после наложения текстур и освещения.

Рис 19. Готовый ландшафт

<<< Пред | След >>>
Сглаживание | Выдавливание


Выдавливание

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Выдавливание (Extrude)

Инструмент который очень важен при работе с меш-объектами это "Extrude"(Выдавливание) клавиша (E). Этот инструмент позволяет вам создавать куб из прямоугольника и цилиндр из кольца. Extrude дает возможность создавать вам такие вещи, типа разветвленного дерева. Хотя процесс весьма интуитивен, принцип работы Extrude описан ниже:

  • Сначала, алгоритм определяет внешние замкнутые ребра Extrude, то есть те, которые среди выбранных ребер будут преобразованы в грани. По умолчанию, алгоритм рассматривает ребра, принадлежащие двум или более выбранным граням как внутренние, а следовательно не частью цикла.

  • Замкнутые ребра затем преобразуются в грани.

  • Если замкнутые ребра принадлежат только одной грани, в цельном меше, тогда все выбранные грани дублируются и привязываются к недавно созданным граням, например прямоугольник, в течение этой стадии, превратится в куб .

  • В других случаях, выбранные грани связываются с новосозданными гранями но не дублируются. Это предотвращает сохранение ненужных граней 'внутри' получившегося меша. Это различие чрезвычайно важно, так как гарантирует закрытый объем всей последовательно создаваемой конструкции, при использовании Выдавливания(Extrude).

  • Ребра, не принадлежащие к выбранным граням, формируются как 'открытые', ребра просто дублируются и создаются новые грани между новым ребром и первоначальным.

  • Отдельно выбранные вершины, не принадлежащие выбранным ребрам, дублируются и создается новое ребро, между двумя вершинами.

Когда алгоритм Выдавливания(Extrude) закончится, автоматически включится режим перемещения(Grab mode), новосозданные грани/ребра/вершины можно перемещать при помощи мыши.

Extrude это самый часто используемый инструмент в Blender'е. Он простой и легкий в использовании, но достаточно мощный. Следующий короткий урок описывает, как создать меч, используя Выдавливание(Extrude).

Лезвие

Запустите Blender и удалите плоскость, созданную по умолчанию. При виде сверху, добавьте меш-кольцо с 8 вершинами. Переместите вершины так, как показано на Рис 20.

Рис 20. Деформированное кольцо, становится сечением лезвия.

Выберите все вершины и уменьшите размер сечения S так чтобы его форма занимала 2 клеточки. Переключитесь на вид сверху NUM 1.

Форма, созданная нами, это основа лезвия. Используя Extrude, мы создадим лезвие за несколько простых шагов. Выбрав все вершины, нажмите E и подтвердите ваш выбор, во всплывающее меню 'Ok? Extrude' (или ENTER) Рис 22. Или же кликните кнопку с надписью `Еxtrude' в окне кнопок для редактирования (F9), на панели Mesh Tools Рис 21.

Рис 21. Кнопка Extrude.

Рис 22. Всплывающее меню подтверждения Выдавливания(Extrude).

Двигайте мышь наружу или нажмите ESC чтобы отменить операцию. Когда будете двигать мышью, увидите что происходит: Blender скопирует вершины, соединит их с оригинальными вершинами ребрами и гранями и включит режим перемещения. Переместите новые вершины на 30 единиц вверх, ограничьте перемещение клавишей CTRL. Кликните левой кнопкой мыши, чтобы подтвердить новое положение и чуть-чуть уменьшите расстояние между ними клавишей S (Рис 23).

Рис 23. Лезвие

Снова нажмите E чтобы выдавить наконечник лезвия. Переместите вершины вверх на 5 единиц. Чтобы сделать наконечник лезвия в одну вершину, уменьшайте расстояние между вершинами до 0.000 (для этого удерживайте CTRL) и нажмите W>'Remove Doubles' (Рис 24) или кликните кнопку `Rem Doubles' в окне кнопок редактирования (F9) на панели Mesh Tools Рис 21. Blender скажет вам, что удалил 7 из 8 вершин и оставил одну: лезвие готово! (Рис 25)

Рис 24. Меню редактирования

Рис 25. Готовое лезвие

Рукоятка, 1 часть

Покиньте режим редактирования и отодвиньте лезвие в сторону. Добавьте UVsphere с 16 сегментами и кольцами и снимите выделение со всех вершин A. При помощи инструмента Border select B выберите вершины трех верхних колец, удалите их клавишей X>'Vertices' (Рис 26).

Рис 26. UVsphere для рукоятки: удаляемые вершины

Рис 27. Первое выдавливание для рукоятки

Выберите вершины верхнего кольца и выдавите его. Двигайте вершины вверх на 4 единицы и чуть-чуть увеличьте кольцо (Рис 27), выдавите эти же вершины снова на 4 единицы два раза и немного уменьшите кольцо (Рис 28). Покиньте режим редактирования и уменьшите всю рукоятку пропорционально лезвию. Поместите ее просто под лезвием.

Рис 28. Готовая рукоятка

Рукоятка, 2 часть

Теперь, при помощи "Extrude", используя последовательность 'выдавливание>перемещение>масштабирование' попробуйте создать классную вторую часть рукоятки. Начните с куба, выдавливайте его в разные стороны несколько раз, масштабируя где необходимо. У вас должно получиться что-то похожее на Рис 29.

Рис 29. Готовая вторая часть рукоятки

После наложения текстур меч выглядит как на Рис 30

Рис 30. готовый меч с текстурами и материалами

Как видите, "Extrude"(Выдавливание) очень мощный инструмент, позволяющий вам очень быстро создавать относительно сложные объекты (весь меч был создан менее чем за 30 мин!). Приобретенный навык выдавливание>перемещение>масштабирование, сделает вашу жизнь, как Blender-моделлера, намного легче.

<<< Пред | След >>>
Инструмент пропорционального редактирования | Вращение и Вращение с дублированием


Вращение и Вращение с дублированием

Вращение(spin) и вращение с дублированием(spin dup) еще два очень мощных инструмента для моделирования.

Вращение(Spin)

Инструмент Spin(Вращение) в Blender'е, создает объекты по принципу токарного станка. Этот инструмент часто в литературе называется "lathe" или "sweep".

Сначала вы должны создать меш, представляющий профиль вашего объекта. Если вы моделируете полый объект, то вы сможете задать толщину контура. На Рис 31 показан профиль винного бокала, который мы будем моделировать чтобы показать работу этого инструмента.

Рис 31. Профиль бокала

В режиме редактирования, выберите все вершины и перейдите в окно с кнопками для редактирования (F9), в панель Mesh Tools. Кнопка "Degr" указывает на сколько градусов прокрутится объект (в нашем случае, нам необходим полный оборот 360°). Кнопка "Steps" определяет количество профилей объекта (Рис 32).

Рис 32. Кнопки вращения

Как и Spin Duplicate (будет описан в следующем разделе), эффект Spin(вращения) зависит от места где расположен 3D-курсор и из какого вида производится эта операция. Мы будем вращать наш профиль при виде сверху. Переключитесь на вид сверху, клавишей NUM 7. Курсор должен располагаться вдоль центра профиля. Это легко сделать выбрав одну вершину вдоль центра и привязать 3D-курсор к ней, с помощью клавиш SHIFT+S>>CURS->SEL.

Рис 33 показывает профиль бокала с правильно расположенным курсором, при виде сверху.

Рис 33. Профиль бокала (в режиме редактирования) с правильно расположенным курсором, при виде сверху.

Перед тем как продолжить, давайте заметим количество вершин профиля. Эта информация находится в верхней части окна Blender'а, на Информационной панели (Рис 34).

Рис 34. Информация о меш-объекте - количество вершин(Ve:) и граней(Fa:).

Нажмите кнопку "Spin". Если у вас более одного 3D-окна, курсор мыши превратится из стрелки в знак вопроса, и вам нужно будет кликнуть в окне с видом сверху, чтобы продолжить вращение. Если у вас только одно 3D-окно, тогда вращение произойдет мгновенно.

Рис 35 показывает результат полного оборота.

Рис 35. Результат вращения

А теперь маленькие хитрости. Операция вращения, оставляет дубликаты вершин вдоль профиля. Обычно вы можете выбрать все вершины (A) и кнопкой Remove Doubles, удалить дубликаты (Рис 32).

В очень редких случаях, эти дубликаты могут не точно соответствовать первоначальному профилю. Чтобы удалить их и таким образом закрыть объект, у нас есть два различных способа. Или поднять значение "Limit" дистанции, ниже которого вершины удаляются (по умолчанию 0.001) или больше сблизить вершины (Рис 32).

Чтобы сблизить вершины, выберите вершины, лежащие по шву, с помощью инструмента Border select (B).Белый прямоугольник на Рис 36 показывает какие вершины необходимо выбрать.

Рис 36. Выбор вершин по шву

Нажмите ТОЧКУ или соответствующую кнопку, чтобы масштабировать вершины относительно 3D-курсора. Мы это делаем для того, чтобы масштабировать вершины по линии, проходящей по центру объекта.

Нажмите S чтобы начать масштабирование. Тащите курсор мыши вертикально и нажмите среднюю кнопку мыши. Если все сделано правильно, это ограничит операцию масштабирования по оси Y. Если нет, снова нажмите среднюю кнопку мыши чтобы выключить ограничение и попробуйте снова.

Во время масштабирования, удерживайте клавишу CTRL чтобы процесс шел по 0.1 единице. Смасштабируйте линию вершин до 0 по оси Y, и кликните ЛКМ чтобы завершить эту операцию. Если захотите, вы можете вернуть центр вращения/масштабирования по умолчанию нажав ЗАПЯТУЮ после завершения.

Удалите дубликаты в данной секции, нажав W>>REMOVE DOUBLES (Рис 37). Появится маленькое окошко, которое сообщит вам о количестве удаляемых вершин. Отменить действие, можно убрав мышь с окошка, нажать ESC или кликнуть левой или правой кнопкой мыши.

Обратите внимание на количество вершин перед и после операции "Remove Doubles" (Рис 38). Если все идет правильно, то количество вершин (38 в нашем примере) должно быть такое же как и на Рис 34. Если нет, значит некоторых вершин не хватает и вам нужно будет объединить их вручную. Или, что хуже, слишком много было объединено вершин.

Рис 38. Количество вершин после удаления дубликатов.

Tip Объединение двух вершин в одну

Чтобы объединить две вершины в одну, выберите обе вершины, удерживая SHIFT кликая по ним ПКМ. Нажмите S чтобы начать масштабирование, удерживайте CTRL во время этой операции, понизьте значения до 0 по X,Y и Z. Нажмите ЛКМ чтобы завершить процесс и кликните кнопку "Remove Doubles", в окне кнопок редактирования на панели Mesh Tools.

Другим способом, это можно сделать нажав W и выбрав из меню "Merge" (Рис 39). Затем появится еще одно меню, в котором можно выбрать где произвести объединение вершин: по центру или на месте курсора. Первый выбор, в нашем случае, будет лучше.

Рис 39. Меню объединения

Все что нам осталось, это пересчитать нормали наружу, выбрав все вершины и нажав CTRL+N>>RECALC NORMALS OUTSIDE. Здесь мы можем покинуть режим редактирования, применить сглаживание и материал, настроить освещение и камеру и отрендерить. На Рис 40 показаны готовые винные бокалы.

Рис 40. Готовые винные бокалы.

Вращение с дублированием(SpinDup)

Инструмент Вращение с дублированием, отличный способ быстрого создания серии одинаковых объектов, лежащих по окружности. Давайте представим, что вы смоделировали часы, и вам нужно сделать часовые метки.

Рис 41. Часовая метка указана стрелкой

Сделайте всего одну метку и расположите ее на 12 часов, (Рис 41). Выберите метку и перейдите в окно кнопок редактирования (EditButtons), клавишей F9 в панель Mesh Tools. Установите значение градусов поворота в цифровой кнопке "Degr" на 360. Нам нужно 12 копий меток, поэтому установим значение "Steps" на 12 (Рис 42).

Рис 42. Кнопки Вращения с дублированием (Spin Dup)

  • Переключитесь на вид, из которого будете производить вращение. Обратите внимание, что команда "Spin Dup" зависит от вида из которого вы нажмете кнопку.

  • Расположите 3D-курсор в центр вращения. Объекты будут вращаться вокруг этой точки.

  • Выберите объект, который вы хотите продублировать и клавишей TAB, переключитесь в режим редактирования.

  • В режиме редактирования, выберите вершины которые вы хотите продублировать (заметьте, что вы можете выбрать все вершины клавишей AKEY или все вершины связанные с одной, клавишей LKEY) Смотрите Рис 43.

Tip | Расположение 3D-курсора
 | Если вам необходимо расположить 3D-курсор точно на существующий объект или вершину, выберите объект или вершину и нажмите SHIFT+S, затем выберите >>CURS->SEL.

Рис 43. Объект выбран и готов к вращению с дублированием

  • Нажмите кнопку Spin Dup. Если вы используете более одного 3D-окна, вы увидите как курсор мыши изменится на знак вопроса. Кликните им в окне, в котором вы хотите произвести вращение. В нашем случае мы будем использовать окно Front (Рис 44).

Вы можете отменить эту операцию нажав ESC

Рис 44. Выбор видового окна для Spin Dup.

Когда производится вращение на 360 градусов, объект-дубликат ляжет на тоже место, где и первый объект. Вы заметите что, после вращения с дублированием, первый объект остается выбранным. Удалите его, просто нажав клавишу X и выберите >>VERTICES. Первоначальный объект удален, но копия его остается (Рис 45).

Рис 45. Удаление первоначального объекта

Tip Как избегать дубликатов первоначального объекта

Если вы чуть-чуть разбираетесь в математике, вы можете избежать копии первоначального объекта. Просто сделайте 11 копий, а не 12, и не на 360°, а на 330° (то есть 360*11/12). Таким образом, дубликат не ляжет на место первоначального объекта.

Вообще, чтобы сделать n копий по кругу на 360 градусов, без лишней копии , просто вращайте на один объект меньше на 360*(n-1)/n градусов.

На Рис 46 показаны полностью отрендеренные часы.

Рис 46. Готовый рисунок часов.

<<< Пред | След >>>
Выдавливание | Кручение


Кручение

"Screw" (Кручение), это инструмент "Spin" (Вращение), объединенный со спирально-подобным движением. Вы можете использовать его чтобы создавать винты, пружины или ракушко-подобные структуры.

Рис 47. Как делается пружина: перед (слева) и после (справа) инструмент Screw.

Метод использования инструмента "Screw", имеет строгий порядок:

  • Установите 3D-окно на вид спереди (NUM 1).

  • Расположите 3D-курсор там, где будет проходить ось вращения. Таким образом, ось будет вертикальна.

  • Убедитесь что имеется открытая полигонная линия. Это может быть как одиночное ребро, как на рисунке, или половинка кольца, убедитесь, что есть два 'свободных' конца; два ребра соединены между собой только одной вершиной. Функция "Screw" находит эти две точки и использует их, чтобы вычислить вектор перемещения, который добавляется к "Spin"(вращение) на полный оборот (Рис 47). Если эти две вершины будут в том же самом месте, тогда получится эффект такой же как и от "Spin". Иначе, случится что-то интересное!

  • Выделите все вершины, участвующие в "Screw".

  • Укажите в кнопках "Steps" и "Turns" желаемые значения. "Steps" указывает сколько раз будет повторятся профиль на каждый оборот в 360°, а "Turns" указывает сколько будет сделано полных оборотов в 360°.

  • Нажмите "Screw"!

Если вы используете несколько 3D-окон, курсор мыши превратится в знак вопроса. Кликните мышкой в том 3D-окне, в котором вы хотите выполнить операцию "Screw". ("Screw" работает только в окне с видом спереди!)

Если два "свободных" конца расположены вертикально, результат будет такой какой вы видели выше. Если нет, тогда вектор перемещения останется вертикальным, и равен вертикальному компоненту вектора, соединяющего две 'свободных' вершины, в то время как горизонтальный компонент генерирует расширение (или сужение) винта как показано на Рис 48.

Рис 48. Расширение винта (справа) полученное с помощью профиля слева.

<<< Пред | След >>>
Вращение и Вращение с дублированием | Шум


Шум

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Шум (Noise)

Функция Шум (noise), позволяет вам смещать вершины меш-объекта, который имеет текстуру, основанную на градации серых тонов. Таким способом, вы можете создавать великолепные ландшафты или вырезать текст на меш-объекте.

Рис 51. Инструмент подразделения

Добавьте плоскость и подразделите ее, по крайней мере, раз пять, при помощи специального меню W->Subdivide (Рис 51). Теперь добавьте к плоскости материал и назначьте текстуру Clouds(облака). Установите "NoiseSize" на 0.500. Выберите белый цвет, как цвет материала и черный - как цвет текстуры, Это даст нам хороший контраст для для эффекта Шум(noise).

Рис 52. Кнопка Noise в окне кнопок редактирования (EditButtons)

Убедитесь что включен режим редактирования (EditMode) и выбраны все вершины, затем перейдите в окно кнопок редактирования (EditButtons) F9, на панель Mesh Tools. Нажмите кнопку "Noise" (Рис 52) несколько раз, пока не получится классный ландшафт. На Рис 53 показана плоскость с текстурой в первоначальном виде и то что происходит с ней после нажатия кнопки "Noise". Теперь удалите текстуру с ландшафта, чтобы не искажать его вид. Затем добавьте освещение, установите сглаживание (smooth) и т. д. (Рис 54).

Рис 53. Процесс применения Noise

Рис 54. Ландшафт сделанный при помощи Noise

Имейте ввиду, что шумовое смещение всегда происходит вдоль координаты z меш-объекта, т.е. вдоль направления локальной оси z объекта.

<<< Пред | След >>>
Кручение | Инструмент Деформации


Инструмент Деформации

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Инструмент Деформации (Warp Tool)

Инструмент Деформации (warp tool) малоизвестный инструмент в Blender'е, частично потому, что вы не найдете его в окне кнопок редактирования (EditButtons), и еще потому, что он очень удобен только в особых случаях. В общем, это не тот инструмент, в котором средний юзер Blender'а нуждается каждый день.

Часть текста, изогнутого в кольцо, полезна для вращающихся логотипов, но это было бы трудно смоделировать без инструмента деформации. Мы деформируем фразу "Amazingly Warped Text"(Удивительно Изогнутый Текст) вокруг сферы. Сначала добавьте сферу.

Потом добавьте текст при виде спереди, установите "Ext1" на 0.1 - это сделает текст трехмерным, и установите "Ext2" на 0.01, это придаст классный скос краям текста. Сделайте "BevResol" 1 или 2 чтобы сделать скос сглаженным и снизьте разрешение самого текста (DefResolU:) так, чтобы количество вершин не было слишком большим, когда вы будете подразделять объект позже (Рис 55). Конвертируйте объект сначала в кривые(curves), затем в меш, (дважды нажмите ALT+C) потому, что Инструмент Деформации не работает с кривыми. Подразделите меш дважды, так, чтобы форма объекта была чистая, без искажений.

Рис 55. Настройка текста

Переключитесь на вид сверху и отодвиньте меш от 3D-курсора. Эта дистанция, определяет радиус деформации. Смотрите Рис 56.

Рис 56. Сфера и текст при виде сверху

Переключите меш в режим редактирования и выберите все вершины, клавиша A. Нажмите SHIFT-W чтобы включить Инструмент Деформации. Двигайте мышью вверх или вниз, определяя степень деформации. (Рис 57). Удерживайте CTRL чтобы изменять степень деформации по пять градусов.

Рис 57. Изогнутый текст

Теперь можно переключиться на вид из камеры, добавить материал, текстуры, свет и отрендерить сцену (Рис 58).

Рис 58. Готовая сцена

<<< Пред | След >>>
Шум | "Зацепы" для объекта


"Зацепы" для объекта

автор: Kenneth Styrberg

Относится к Blender v2.35

"Зацепы" (hooks, крючки), дают доступ на объектном уровне к базовой геометрии мешей, кривых, поверхностей или решеток. Зацеп это объект и работает он как parent для объекта, но зацеп действует на вершину(ы). Другими словами, это объект (hook), которым вы можете как "крючком", зацепить вершину(ы) другого объекта, затем перемещая его, воздействовать на геометрию объекта. Вы можете создавать столько зацепов для объекта, сколько хотите и назначать для каждого зацепа вершины на которые он будет действовать. Возможно таже совмещение зацепов, для этого есть специальный фактор воздействия (слайдер Force) на вершину.

Note

Если вы что-то переделали, то вам необходимо будет переназначить существующие зацепы.

Добавление зацепов

Чтобы добавить зацеп, выберите одну или несколько вершин на объекте и нажмите CTRL-H, после чего появится меню. Так как зацепы относятся к вершинам или контрольным точкам, то большинство параметров редактирования доступны в режиме редактирования для мешей, кривых, поверхностей или решеток.

Рис 47. Меню Hooks

Add, New Empty Добавляет новый зацеп и создает новый объект Еmpty, который и будет "цеплять" выбранную вершину(ы), по центру.

Add, To Selected Object Если выбран еще один объект (это можно сделать в режиме редактирования с помощью CTRL-ПКМ), то создается новый зацеп, которым и будет этот выбранный объект.

Использование зацепов

Для удобства моделирования, зацепы не работают в режиме редактирования. Использовать зацепы можно только в объектном режиме. В этом режиме доступны все опции трансформации объекта, включая иерархичность, Сonstraints (ограничения, связь), IPO и анимацию вдоль пути.

Опции в режиме редактирования

После того как зацеп уже добавлен, меню, которое вызывается нажатим CTRL-H, предоставляет дополнительные опции:

Рис 48. Расширенное меню Hooks

Remove... Вызывает еще одно меню, где представлены названия зацепов (объектов) которые можно удалить. Удаляется не сам объект, а только функция зацепа для него!

Reassign... Используется для переназначения других вершин для зацепа.

Select... Выбирает вершины для определенного зацепа.

Clear Offset... Нейтрализует текущую трансформацию от зацепа.

Панель Hooks

Кнопки для управления зацепами находятся в контексте Оbject (F7), вкладка Hooks. Здесь вы можете дать новое название для зацепа, по умолчанию, там название объекта, который служит зацепом. Введя в поле Parent: название объекта, вы сделаете его зацепом. Здесь же вы можете настраивать фактор воздействия слайдером Force.

Рис 49. Панель Hooks

Force ("сила") Если несколько зацепов воздействуют на теже самые вершины, этим параметром вы можете регулировать "силу" воздействия на вершины для каждого из зацепов. Некоторые особенности:

  • Если общая "сила" воздействия меньше чем 1.0, то разность (1.0, минус приложенные "силы"), будет коэффициентом для первоначальной позиции.

  • Если общая "сила" воздействия больше чем 1.0, то используется среднее значение Force для всех зацепов.

Falloff (спад) Если не равен нулю, то это значение будет расстоянием, где воздействие зацепа будет сходить на нуль. В настоящее время, этот параметр использует плавную интерполяцию, сравнимую с Инструментом пропорционального редактирования. (Смотрите раздел Инструмент пропорционального редактирования)

Delete Удаляет функцию зацепа назначенную для объекта.

Clear offset Нейтрализует текущую трансформацию от зацепа.

<<< Пред | Пред >>>
Инструмент Деформации (Warp Tool) | Подразделение поверхностей алгоритмом Catmull-Clark'а


Подразделение поверхностей алгоритмом Catmull-Clark'а

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Подразделение поверхностей алгоритмом Catmull-Clark'а (Catmull-Clark SubSurf)

Подразделение поверхностей алгоритмом Catmull-Clark'а, или сокращенно SubSurf, это математический алгоритм вычисления "гладкого" подразделения меш-модели. Стартовой точкой может служить любой простой меш-объект, Blender может вычислять гладкое подразделение на лету; во время моделирования или рендеринга. Это дает возможность моделировать высокополигонные меш-объекты, без сохранения и обслуживания огромного количества данных. Это также придает моделям гладкий, 'органический' вид.

Фактически, меш-объект, созданный с помощью SubSurf и NURBS-поверхности, имеют много общего, так как оба полагаются на "грубый" низкополигонный "меш", чтобы определить сглаженность "высокоточной" поверхности, но есть также известные различия:

  • NURBS имеет более тонкое управление для поверхности, так вы можете устанавливать "воздействие" для каждой контрольной точке меша отдельно. На меше с SubSurf вы не можете устанавливать воздействие для каждой контрольной точки.

  • SubSurf имеет более гибкий подход к моделированию. Так как SubSurf - математическая операция, происходящая на меше, вы можете использовать все методы моделирования меш-объектов, описанные в этой главе, которых очень много и они более гибкие, чем те, что доступны для NURBS .

SubSurf это параметр редактирования, кнопка включения находится в окне кнопок для редактирования( EditButtons) F9, на панели Mesh (Рис 59). Рядом, возле кнопки SubSurf, есть меню, в котором можно выбрать способ подразделения: Simple Subdiv. (простое, по умолчанию) или Catmull-Clark - о котором мы и будем говорить далее. Цифровая кнопка сразу внизу слева определяет параметр, разрешение (или уровень) подразделения для 3D-визуализации, кнопка справа определяет разрешение для рендеринга.

Так как вычисления SubSurf выполняются в реальном времени, во время моделирования и рендеринга, а эта операция требовательна к процессору, рекомендуется держать уровень SubSurf маленьким (но не нулевым) во время моделирования и высоким для рендеринга.

Рис 59. Кнопки SubSurf

Blender с версии 2.3, для SubSurf имеет новую опцию: Optimal. Она изменяет способ прорисовки SubSurf-мешей и хорошо помогает при моделировании. Рис 61 показывает серию картинок с различной комбинацией SubSurf выполненной с мешем Сюзанны.

Рис 61. Сюзанна с различным способом SubSurf

Рис 62 показывает уровни SubSurf 0,1,2,3 на одиночной квадратной грани или на одиночной треугольной грани. Такое подразделение выполнено, на универсальном меше, для каждой каждой квадратной или прямоугольной грани.

Очевидно, как каждая единственная четырехсторонняя грань производит грани 4^n в SubSurfed меше, n является уровнем или разрешением SubSurf, то время как каждая треугольная грань производит новые грани 3*4^(n-1) (Рис 62). Такое увеличение количества граней (и вершин) приводит к замедлению редактирования и рендеринга и требует более низкого уровня SubSurf, в процессе редактирования, чем при рендеринге.

Рис 62. Процесс SubSurf на простой квадратной и треугольной грани.

Система подразделения Blender'а, основывается на алгоритме Catmull-Clark'а. Это производит хорошие гладкие меши SubSurf но, любая грань, созданная при помощи алгоритма SubSurf, из одиночной грани оригинального меша, получает такую же ориентацию нормалей, как и у первоначальной грани.

Это не проблема для самой фигуры, как показано на Рис 63, но это проблема для рендеринга, и в режиме отображения граней, где резкие изменения нормалей создает уродливые черные линии (Рис 64).

Рис 63. Вид подразделенного меша сбоку. Со случайным направлением нормалей (сверху) и с последовательным (снизу)

Использование клавиш CTRL+N в режиме редактирования (EditMode), с выбранными всеми вершинами, заставит Blender пересчитать нормали.

Рис 64. Отображение SubSurf меша в режиме прорисовки граней с непоследовательными (сверху) и последовательными нормалями (внизу).

На рисунках нормали граней отображены голубым цветом. Вы можете включать отображение нормалей (кнопка Draw Normals) в окне кнопок редактирования F9 , на панели Mesh Tools 1.

Стоит отметить, что Blender не может пересчитать нормали правильно, если меш "неразнообразный". "Неразнообразный" меш, это меш для которого 'внешняя' часть определенно не может быть просчитана. В основном, с точки зрения Blender'а, это меш, где есть ребра, принадлежащие более чем двум граням.

На Рис 65 показан очень простой пример "неразнообразного" меша. Вообще, "неразнообразный" меш получается, тогда, когда у вашего объекта есть внутренние грани и т.п.

Рис 65. "неразнообразный" меш

"Неразнообразный" меш - не проблема для обычных мешей, но может вызывать уродливые артефакты, в мешах построенных на SubSurf, так что лучше при возможности избегайте их.

Вы можете узнать, что меш является "неразнообразным" по двум признакам:

  • Пересчет нормалей оставляет черные линии в некоторых местах.

  • Инструмент "Decimator", в окне кнопок редактирования (панель Mesh), отказывается работать, сообщая что меш "неразнообразный" (ERROR: No Manifold Mesh)

Инструмент SubSurf создает очень хорошие "органические" модели, но имейте в виду, что правильный меш с квадратными гранями, дает лучший результат.

<<< Пред | След >>>
"Зацеп" для объекта | Создание/редактирование кромок для меша при использовании SubSurf


Создание/редактирование кромок для меша при использовании SubSurf

автор: Kenneth Styrberg

Относится к Blender v2.34

Эта новая функция, позволяет вам создавать и настраивать кромки меша, т.е. делать их более гладкими или острыми, при моделировании с помощью подразделения поверхностей (Catmull-Clark SubSurf).

Настройка возможна в режиме редактирования, когда вы моделируете используя Catmull-Clark SubSur. Выберите то ребро меша, где вы хотите сделать/настроить кромку и нажмите SHIFT-E чтобы настроить остроту кромки.

Вы може включить индикацию этого процесса, включив кнопку Draw Creases. Смотрите Рис 9.

Рис 9. Панель Mesh Tools 1

Значение остроты кромки, отражается на толщине ребра. Если острота кромки максимальная, то есть1.0, тогда ребро будет выглядеть толще чем обычно, а если кромки нет вообще или острота равна 0.0, тогда ребро будет тонким. Если же острота кромки лежит в диапазоне между 0.0 и 1.0, тогда только часть ребра будет толстой. Смотрите Рис 10.

Рис 10. Осрота кромки равна 0.5

Чтобы иметь возможность работать с кромками, нам необходимо активировать подразделение поверхностей (SubSurf). Выберите куб по умолчанию, если его нет, то добавьте! Перейдите к контексту Editing (F9), на пенель Мesh, и нажмите кнопку SubSurf . Выберите в выпадающем меню тип подразделения Catmull-Clark, потом установите уровень подразделения на 3 в обеих текстовых полях (Subdiv и рядом). Смотрите Рис 11. После этого, куб превратится в сферу.

Рис 11. Панель Mesh

Когда выбран куб, войдите в режим редактирования (TAB). По умолчанию, включен режим выбора вершин - Vertices Select, теперь нажмите CTRL-TAB и в появившемся меню Select Mode, Рис 12, выберите Edges. Либо воспользуйтесь соответствующей кнопкой в заголовке 3D-окна.

Рис 12. Меню Select Mode

Теперь, выберите все ребра, нажав A. Все ребра станут желтоватого цвета, Рис 13. Если что-то было выбрано до этого, то возможно рёбра остануться черными. Если это так, тогда нажмите A еще раз, чтобы выбрать все ребра.

Рис 13. Все ребра выбраны

Теперь нажмите SHIFT-E , чтобы создать/изменить остроту кромок. Значение остроты кромки можно наблюдать в реальном времени в заголовке 3D-окна, Рис 14. Перемещайте указатель мыши дальше или ближе от ребер (или ребра), таким образом изменяя остроту кромки. Добейтесь максимальной остроты для всех ребер (значение 1.0). После этого, сфера станет кубом.

Рис 14. Острота кромок

Теперь, выберите два противоположных ребра, в верхней части куба. Снова нажмите SHIFT-E и уберите остроту кромку вообще, то есть значение 0.0, Рис 15.

Рис 15. Выбраны два противоположных ребра

Если отрендерить сцену, то у нас получится прикольный куб, с закругленным верхом Рис 16. Это очень хороший способ, чтобы получить меш такой формы!

Рис 16. Результат

<<< Пред | След >>>
Подразделение поверхностей алгоритмом Catmull-Clark'а (Catmull-Clark SubSurf) | Инструменты для работы с ребрами/гранями


Инструменты для работы с ребрами/гранями

Относится к Blender v2.33

В Blender'е 2.30 были добавлены несколько новых брэндовых инструментов моделирования.

При моделировании, часто возникает потребность добавления вершин в некоторых частках меша, и это часто расценивается как разбиение, или добавление, ребер в данной области. Теперь для этого Blender предоставляет два инструмента: Knife Tool (нож) способный разбить ребра в желаемых местах, и Face Loop, способный выбрать контур грани и разбивать их последовательно.

Инструменты для обработки краев сгруппированы в меню, кторое вызывается клавишей K , но каждый из инструментов имеет свою "горячую клавишу".

Выбор ребер/граней

Инструмент для выбора ребер/граней активируется нажатием ALT-B, в режиме редактирования. Если комбинация клавиш нажата один раз ALT-B, Blender включает режим выбора ребер. Контур ребер, находяшиеся под курсором, будут подсвечиваться голубым цветом (Рис 9).

После нажатия ЛКМ , вершины всех подсвеченных ребер, включенных в контур, будут выбраны. Если до этого были выбраны какие либо вершины, то выбор с них снимается. Если вы хотите добавить выбираемый контур ребер к уже выбранным, то нажмите SHIFT-ЛКМ, а если вам надо убрать то используйте ALT-ЛКМ.

Рис 9. Один открытый (слева) и один замкнутый (справа) контур ребер.

Если комбинацию клавиш ALT-B нажать дважды, то включится режим выбора граней (полигонов) по контуру и они будут подсвечены желтым цветом. Контур граней формируется из двух соседних контуров ребер, действует только на четырёхугольные грани (полигоны), и заканчиваются треугольной гранью (а две границы контуров ребер сливаются в один). Все манипуляции и дествия мышкой такие же как и в режиме выбора ребер (Рис 10).

Режим выбора граней доступен ещё через SHIFT-R , в режиме редактирования.

Рис 10. Один открытый (слева) и два закрытых (в центре и справа) контура граней.

Разбивание граней, выбранных по контуру (Face Loop).

Инструмент Face Loop позволяет вам выбирать и разбивать грани по их контуру. Контур определяется ребром, ниже указателя мыши, и двумя гранями совместно использующими это ребро.

В режиме редактирования нажмите CTRL-R . Ребро под курсором подсветится зеленовато-голубым цветом, средняя линия соответствующего контура граней будет желтого цвета (Рис 11, слева). После того, как с помощью ЛКМ, контур граней будет выбран, между контурами ребер, появится голубая линия - новый контур ребер.

Одна из двух вершин, имеющая отношение к ребру, под курсором мыши, будет подсвечена большой сиреневой точкой (Рис 11, в центре слева). Теперь мышью перемещайте голубую линию в необходимое место, удаляя или приближая к иреневой точке. В заголовке 3D-окна, будут отображаться параметры перемещения голубой линии относительно сиреневой точки, заданные в процентах от длины ребра.

Вы можете заставить перемещатся голубую линию с шагом по 10%, удерживая CTRL . Вы также можете зеркально отразить размещение сиреневой точки клавишей F (Рис 11, в центре справа).

Затем, после того как вы снова кликните LMB будет создан контур ребер, в виде ряда выбранных вершин, который разделяет на две половины ранее выбранные грани. (Рис 11, справа).

Рис 11. Разбивание граней.

Это действительно полезный способ улучшить меш в SubSurface.

По умолчанию голубая линия, новый контур ребер, создаётся так, что делит каждое ребро на равные части, которые пропорциональны друг другу, параметры отображаются в процентах в заголовке окна (Рис 12, слева). Вы можете заставить голубую линию удерживаться на определенной дистанции от сиреневой точки (от соседнего контура ребер), выключив пропорциональный режим перемещения клавишей P. После этого линия станет синей (Рис 12, в центре). P действует как вкл/выкл.

Рис 12. Пропорциональное и равномерное разбивание грани.

Кроме того, по умолчанию, новые вершины для нового контура ребер, распологаются точно там где и ранее существующие ребра. Это сохраняет подразделенную поверхность плоской. Если необходим плавный, сглаженный переход, используйте S, перед тем как завершить разбивание. Если режим сглаженности включен, то новые вершины будут смещены по направлению нормалей. Параметры смещения также заданы в процентах. После нажатия ЛКМ , выскочит окошко, в котором задаются параметры в процентах и уже после этого разбивание граней будет завершено (Рис 12, справа).

Note

Оба инструмента Face Loop также присутствуют в меню K.

Инструмент Knife Tool (нож)

Инструмент Knife Tool работает подразделяя грани, если их обе вершины выбраны и ребро рассекается, как ножом, по линии проведенной пользователем . Например, если вам нужно вырезать отверстие только впереди сферы, то вы можете выбрать только передние вершины, и затем выводить линию при помощи мыши.

Чтобы попробовать этот инструмент добавьте меш Grid (решетка). Вы будете в режиме редактирования и все вершины будут выбраны. Нажмите SHIFT-K чтобы включить инструмент Knife Tool. Вам будет предложено выбрать тим разреза: Exact разделит ребра точно в местах пересечения с линией "ножа", Midpoints разделит пересеченное ребро по середине. Для нашего примера выберем Midpoints.

Теперь нажмите ЛКМ и начинайте рисовать. Если вы кликните ЛКМ и переместите мышь, то будут рисоваться прямые отрезки, от первой точки, где вы кликнули мышкой, до другой; если вы удерживаете нажатой ЛКМ во время рисования, то линия будет рисоваться произвольная. С помощью отрезков можно рисовать любое количество ломанных линий, но пересчение будет работать только один раз на ребро. Многоразовое пересечение ребра линией не создаст дополнительного разреза на нем. СКМ ограничивает рисование по осям. Привязка к решетке пока что не поддерживается, но ожидается в следующих релизах. Когда линия нарисована, для подтверждения нажмите ENTER. Клавиша ESC в любой момент отменяет операцию. Рис 13 показывает несколько примеров.

Рис 13. Ломанная линия "Center" (сверху); "Exact" и одиночный отрезок (посередине) и "Exact" произвольная линия (внизу).

Note

При работе с большим мешем, будет быстрее если выбрать меньшее количество вершин, которые определяют только те ребра, которые вы планируете разрезать. Таким образом, инструмент Knife потратит меньше времени для вычисления пересечения ребер.

<<< Пред | След >>>
Создание/редактирование кромок для меша при использовании SubSurf | Инструмент создания фаски


Инструмент создания фаски

Относится к Blender 2.33

Blender, начиная с версии 2.32, имеет Инструмент создания фаски (скоса), (далее так и будем называть его по-английски - Bevel tool). Фаска - это что-то типа скоса на острых краях или углах. В реальном мире, действительно острые края втречаются очень редко. Даже кромка лезвия ножа не может рассматриваться совершенно острой, если вы добиваетесь особой точности. Большинство кромок преднамеренно скошено по механическим и практическим причинам.

В Blender'е, Bevel tool, всё ещё в разработке и его реализация на данный момент еще довольно грубая, т.к. он скашивает все края всего меша, не давая вам контролировать скос кромок по отдельности.

Bevel tool работает в режиме редактирования и выбирается из меню (пункт Bevel Рис 14, слева), вызываемое клавишей W . После того как пункт меню выбран, появится диалог, где необходимо указать число рекурсий для скоса (Рис 14, центр слева). Если число 1, тогда каждая грань меша уменьшится в размерах, а кромка превратится в одиночную новую грань. Если число рекурсий более чем 1, тогда вышеупомянутая процедура применяется указанное количество раз, следовательно для Recur: 2, кадое ребро, на кромке меша, преобразуеся в 4 ребра, где получаются три новые грани (полигона). Таким образом кромка меша сглаживается.

Tip | Количество вершин
 | Помните, что при создании каждого нового ребра, создаются две новые вершины и еще несколько на пересечениях между ребрами. Таким образом количество вершин может реко увеличится, если вы используете высокое значение рекурсий для скоса!

Рис 14. Создание фаски для куба.

После того как число рекурсий задано, ребра меша приобретут желтую окраску (Рис 14, центр справа). При перемещении мыши, желтые ребра будут сокращаться (или растягиваться), а фактор сокращения будет отображаться в заголовке окна. Если удерживать CTRL, то сокращение будет происходить с шагом по 0.1, удерживание SHIFT дает ещё более точную настройку. Если нажать пробел ПРОБЕЛ, появится диалог, где можно указать уровень скоса ведя значения с клавиатуры.

ЛКМ завершает операцию, ПКМ или ESC отменяет её. Результат можно посмотреть на Рис 14, справа.

<<< Пред | След >>>
Инструменты для работы с ребрами/гранями | Инструмент децимации


Инструмент децимации

Относится к Blender v2.33

Инструмент децимации (Decimator tool), про который часто забывают, позволяет вам понизить количество вершин/граней меша, с минимальными изменениями его формы.

Этот инструмент не применяется для мешей, которые создавались последовательно и расчетливо, где каждая вершина и грань формирует необходимую фигуру меша, но будет полезен, там где меш получился в результате сложного моделирования, пропорционального редактирования, после конвертации из SubSurfed-мешей в обычные, там где многие вершины в дейсвительности не нужны.

Простой пример, сравните плоскость и ровную сетку (Grid) 4x4. Оба объекта после рендеринга одинаковые, но плоскость имеет 1 грань и 4 вершины, а у решетки 9 граней и 16 вершин, следовательно, имеются не нужные вершины и грани.

Инструмент децимации (Рис 30) позволяет вам избавится от ненужных граней. Цифровая кнопка Инструмента децимации показывает количество граней выбранного меша, в объектном режиме. Инструмент децимации работает только с треугольниками, поэтому каждая квадратная грань для децимации будет разбита на два треугольника.

Рис 30. Кнопки децимации.

Давайте рассмотрим на примере сцену с кубом которую мы использовали в разделе Bevel Tool. Как вы заметили, есть крошечные треугольные грани которые не нужны (Рис 31, верхний слева). В заголовке окна указывается что меш имеет 98 граней и 96 вершин. Цифровая кнопка Инструмента децимации говорит нам что куб имеет 188 треугольных граней, то есть 90 квадратных ( 180 треугольников) и 8 треугольников.

Рис 31. Инструмент децимации в работе.

Когда вы изменяеете число граней в цифровой кнопке Инструмента децимации, или щелкаете мышью и вводите с клавиатуры, меш тут же меняет квадратные грани на треугольники. С понижением числа, грани исчезают один за другим. Blender сначала убирает компланарные грани и вершины на ровных гранях. Это позволяет сохранить форму меша.

В данном случае, если мы просто хотим чтобы исчезла центральная треугольная грань на каждой вершине куба, мы ожидаем, что конечный меш будет иметь 2x6=12 граней для каждой грани куба, 2x3x12=72 грани для каждого скошенного края, и 9x8=72 грани для каждой скошенной вершины, всего 156 граней. Очень редко можно знать заранее, сколько граней будет иметь конечный меш. Поэтому вам необходимо все время контролировать форму меша в 3D-окне.

Две кнопки внизу завершают (Apply) или отменяют (Cancel) децимацию. После завершения децимации, треугольники больше не будут отображаться (Рис 31, сверху справа), но меш, тем не менее, состоит из треугольников (Рис 31, внизу слева). Если вам необходимо, то можете конвертировать треугольники в квадраты клавишами ALT-J (Рис 31, внизу в центре). Таким образом мы снизили количество вершин до 80 и количество граней до 82 без заметного изменения формы меша. Может выгода сейчас и не большая, но если этот куб будет копией на каждой вершине (Dupliverts) и при этом, использован в системе частиц со значением в 1000 частиц, то выгода будет довольно ощутимой.

Рис 32. Децимированный ландшафт, вверху: оригинал; по центру: слегка децимированный; внизу: сильно децимированный.

Рис 32 показывает ландшафт, сделанный из достаточно большой сетки, с помощью метода Noise, описанного ранее. На верху результат рендеринга оригинального меша, внизу результаты децимированного меша. Для глаза разница действительно не заметна, но вершин на много меньше.

<<< Пред | След >>>
Инструмент создания фаски | Симметричное моделирование


Симметричное моделирование

Относится к Blender v2.34

Вам часто бывает необходимо создавать объекты с различными типами симметрии. Для радиальной, вращательной или составной симметрии лучший подход, это тщательное моделирование одной основной части и затем, как завершающий шаг, дублировать основную часть через SpinDup или какой нибудь еще коммандой.

Для объектов с двусторонней симметрией, в одной плоскости, типа большинства животных, а также людей, большинство машин, вышеупомянутый метод подразумевает моделирование одной половины объекта, а затем зеркальное отражение копии этой половины, для получения цельного объекта.

Поскольку обычно трудно достигнуть правильных размеров, моделируя только одну половину, есть возможность сразу дублировать вторую половину, то есть действие на одной половине будет автоматически модифицировать другую половину.

Рис 15. Плоскость.

При виде спереди, добавьте плоскость или что-нибудь другое (Рис 15). Определите начальную точку для первой половины объекта. Пусть это будет правая половина объекта, которая для нас в виде спереди будет находиться на экране слева. Плоскость симметрии будет плоскость yz . Переместите меш в режиме редактирования так, чтобы он находился полностью слева от центра. Удалите некоторые из вершин и добавьте несколько, чтобы придать мешу общую форму, как на Рис 16.

Рис 16. Правая половина.

Теперь переключитесь в объектный режим и с выбранной половиной сделайте, связанную копию, с помощью ALT-D. Нажмите ESC чтобы выйти из режима перемещения и нажмите N. В появившейся цифровой панели, введите значени для SizeX на -1 (Рис 17). Это эффективно создаст зеркальное отражение копии, по отношению к центру объекта, таким образом сохранится центр симметрии.

Рис 17. Зеркальная, связанная копия объекта.

Дублирование объекта как связанный дубликат, подразумевает, что два объекта совместно используют те же самые данные меша, которые полностью зеркально отражены единым масштабированием по оси X, которая является нормалью к плоскости симметрии.

Теперь вы можете редактировать любую из половинок меша. так как они используют общие данные, то любые действия, будь то екструдирование, удаление и т.д, мгновенно отразятся на другой половине (Рис 18).

Рис 18. Редактирование половины.

Таким образом, постепенное редактирование одной половинки, с возможностью использования эскиза как фон, можно получить очень интересные результаты (Рис 19, слева).

Рис 19. Голова. Слева: Режим редактирования; В центре: Объектный режим; Справа: Объединенные части.

Завершающим шагом, когда симметричное моделирование завершено, две половинки нужно выбрать и объединить в один объект (CTRL-J). Это заставит исчезнуть шов между половинами (очень заметен на Рис 19, в центре). После того, как вы имеете цельный объект (Рис 19, справа), вы можете моделировать тонкик детали асимметрии, которые имеет каждое существо.

Note

В Blender'е 2.33 и более ранних версиях, реализация OpenGL, вызывала неправильное отражение нормалей для связанного зеркального дубликата, в следствии чего одна из половинок становилась черной. Это исправлено в Blender'е 2.34, но и в старых версиях эта методика великолепно работает, просто при симметричном моделировании, необходимо установить меш как односторонний.

<<< Пред | След >>>
Инструмент децимации | Метаболы(MetaBalls)


Метаболы

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Каркасное моделирование След >>>

Метаболы (MetaBalls)

Метаболы(MetaBalls) состоят из шариковых или трубчатых элементов, которые могут взаимодействовать с формой друг друга (Рис 68). Вы можете создавать только округлые и жидкие, 'ртутно' или 'глино-подобные' формы, которые существуют процедурно. Используйте Метаболы для спецэффектов или как основу для моделирования.

Рис 68. Два Метабола

Фактически, Метаболы - это не более чем математические формулы, которые исполняют логические операции друг с другом (AND, OR), и могут добавляться или вычитаться. Этот метод также называется CSG, Constructive Solid Geometry(Конструктивная Стереометрия). Из-за своей математической природы, CSG может относительно быстро и хорошо отображаться , при помощи Ray Tracing'а. Но это слишком медленно для интерактивного отображения. Поэтому, были разработаны полигонные алгоритмы. Вся область CSG разделена на 3D-решетку, и для каждого края, в решетке делается вычисление, и если (и очень важно где) формула имеет поворотную точку, то там создается 'вершина' для полигона.

Доступное количество CSG примитивов и инструментов в Blender'е ограничено. Они будут разрабатываться далее, в будущих версиях Blender'а. Но основные уже имеются и постоянно совершенствуются. К сожалению, система моделирования Blender'а мало оптимизирована для Ray Tracing'а. Однако, все еще забавно поиграть с...

Метабол отображается преобразованиями объекта и внешне определяется материалом. Здесь можно использовать только один материал. Кроме того, Метабол сохраняет отдельную область текстуры; это нормализует координаты вершин. Обычно область текстуры идентична границе всех вершин. Пользователь может манипулировать областью текстуры, клавишей T (вне режима редактирования).

Метабол чрезвычайно компактен в памяти и в файле. Необходимые грани, генерируются только при рендеринге. Это может занять много памяти и времени вычисления.

Чтобы создать Метабол, нажмите ПРОБЕЛ и выберите 'ADD>Meta>Meta Ball' ( или Meta Tube, Meta Cube и т.д.).

В режиме редактирования, вы можете перемещать и масштабировать шарики или округленные трубки метаболов, как вам захочется. Это наилучший способ создавать статические, не анимированые, формы. Метаболы могут также влиять на друг друга вне режима редактирования(EditMode). Теперь у вас больше свободы, для работы; шары можно теперь вращать или двигать; они получают каждое преобразование от объекта-родителя. Этот метод требует большего количества времени для вычисления и таким образом, несколько медленнее.

Следующие правила описывают взаимодействие между объектами метаболов:

  • Все объекты-метаболы, с одинаковым названием 'семейства' (имя без номера) воздействуют на друг друга. На пример "Ball", "Ball.001", "Ball.002", "Ball.135". Обратите внимание что здесь, мы не говорим о названии блока данных Метабола (ObData block).

  • Объект с названием семейства без номера определяет основу, разрешение и преобразование полигонов. Он также имеет область текстуры и материал.

Чтобы иметь возможность анимировать Метаболы, очень важно определить какой объект формирует основу. Если основа перемещается, а остальное остается, вы увидите полигонные грани перемещающиеся 'через' шары.

Опция "Threshold" в окне кнопок редактирования (панель Meta Ball), важная настройка для Метаболов. Используя эту опцию, вы можете сделать всю систему более жидкой - менее детальной - или жесткой. Разрешение полигонов, также определяется в окне кнопок редактирования. Это большой потребитель памяти; однако, она освобождается немедленно после полигонизации метабола. Это работает эффективно и быстро, если вы работаете с многочисленными, компактными 'семействами' шаров. Поскольку этот процесс медленный, полигонизация, после каждого изменения, просчитывается не сразу. Она всегда просчитывается заново, после использования операций захват(перемещение)(G), вращения(R) или масштабирования(S).

<<< Пред | След >>>
Симметричное моделирование | Ресурсы


Ресурсы

  • Меш-редактирование: Создание Замка. - http://www.is.svitonline.com/sailor/tutor/build_castle/index.htm

  • Меш-редактирование: Футуристический коридор. - http://www.is.svitonline.com/sailor/tutor/bart/corridor_ru.htm

  • Меш-редактирование: Создание пружины (Screw). - http://www.is.svitonline.com/sailor/tutor/scr_spin/screw_spin.htm

<<< Пред | След >>>
Метаболы | Кривые и Поверхности


Кривые и Поверхности

перевод: Sailor

Кривые и поверхности - объекты подобные мешам, но отличаются тем, что они выражены математическими функциями.

Blender предоставляет кривые и поверхности типа Бизье и Non Uniform Rational B-Splines - NURBS (НеРавномерный Рациональный Би-Сплайн). Оба типа, следуют различным математическим законам, используют в названиях настроек "управления вершинами", определение "управление полигонами". Кривая и поверхность интерполируются (Бизье) или притягивается (NURBS) на первый взгляд, может показаться что это похоже на подразделение поверхностей алгоритмом Catmull-Clark'а.

Кривые и поверхности имеют преймущества и недостатки, по сравнению с меш-объектами. Они используют меньшее количество данных и дают хорошие результаты с меньшим количеством использования памяти во время моделирования, но забирают больше ресурсов при рендеринге.

Некоторые приемы моделирования возможны только с использованием кривых, например, выдавливание профиля вдоль пути, но управление каждой вершиной, как для меша - невозможно.

Короче говоря, есть ситуации где кривые и поверхности более удобны чем меши, а есть и где без мешей не обойтись. Только опыт и чтение документации даст вам овет, на вопрос - что вывыгодней использовать.

Кривые

В этом разделе будут описаны оба типа кривой Бизье и NURBS, а также будет предоставлен рабочий пример.

Бизье

Кривая Бизье, в большинстве случаев используется для создания надписей и логотипов. Важно понимать, что они широко используются в анимации, как путь для движущегося объекта и как кривая IPO, для изменения свойств объекта с течением времени.

Контрольная точка (вершина) кривой Бизье состоит из точки и двух управляющих рычагов. Точка по средине используется для перемещения контрольной точки целиком; выбор этой точки, также выберит и два рачага управления и позволит вам перемещать вершину целиком. Выбор и перемещение одного или двух рычагов упрвления, позволит вам менять форму кривой.

Кривая Бизье, фактически, это касательная к сегменту линии, которая идет от точки к рычагу управления. 'Крутизна' кривой управляется длиной рычага управления.

Есть четыре типа управляющих рычагов (Рис 1):

  • Свободный рычаг Free (черный). Это тип может использоваться всегда и где вам угодно. "Горячая клавиша": H (переключает между Free и Aligned);

  • Выровненный Aligned (розовый). Эти рычаги всегда лежат на прямой линии. "Горячая клавиша": H (переключает между Free и Aligned);

  • Вектор Vector (зеленый). Обе части рычагов всегда указывают на предыдущий или следующий рычаг. "Горячая клавиша": V;

  • Автоматический Auto (желтый). Эти рычаги имеют полностью автоматическую длину и направление. "Горячая клавиша": SHIFT-H.

Рис 1. Типы рычагов управления для кривых Бизье

Рычаги можно вращать, выбрав одну из конечных вершин рычага. Для этого кликните по вершине рычага ПКМ, удерживайте кнопку и двигайте мышь.

После вращения рычагов, их тип изменяется автоматически:

  • Тип рычага Auto становится Aligned;

  • Тип рычага Vector становится Free.

Хотя кривая Бизье - непрерывный математический объект, однако она должна быть представлена отдельной формой с точки зрения рендеринга.

Это можно сделать установив разрешение, которое определяет число точек, которые вычисляются между каждой парой контрольных точек.

Разрешение можно установить для каждой кривой Бизье отдельно (число точек, сгенерированных между двумя точкам в кривой)- Рис 2).

Рис 2. Установка разрешения кривой Бизье.

NURBS

Кривые NURBS определены как рациональные полиномиалы и более универсальны, чем обычный B-Spline и кривые Бизье. Они имеют большой набор переменных, которые позволяют вам создавать математически точные формы. Однако, работа с ними требует немного больше теории:

Рис 3. Кнопки управления NURBS

  • Knots (узлы). Кривые Nurbs имеют узловой вектор, ряд чисел, который определяет параметры кривой. Два параметра очень важны. "Uniform" производит однородное деление для замкнутых кривых, но для открытых, вы получите "свободные" концы, которые будет трудно точно расположить. "Endpoint" устанавливает узлы таким же способом, что первые и последние вершины, которые всегда являются частью кривой, следовательно они намного проще для размещения;

  • Order (порядок). Порядок это 'глубина' вычисления кривой. Order '1' это точка, order '2' - линейный, order '3' - квадратичный и т.д. Для кривой используемой как путь, всегда ставьте order '5'; это избавит вас от раздражающих рывков при движении объекта. Говоря математическим языком, это порядок Числителя и Знаменателя рационального многочлена, определяющего NURBS;

  • Weight (нагрузка, вес). Кривые Nurbs имеют 'нагрузку' на каждую вершину - это сила, с которой вершина "притягивает" к себе кривую.

Рис 4. Настройка управления полигонами и "нагрузкой" для Nurbs.

Рис 4 показывает параметры настройки узла вектора, а также эффект изменения 'нагрузки'(weight) для отдельного узла. Также как и для Бизье, для этой кривой можно установить разрешение.

Рабочий пример

Инструменты работы с кривыми в Blender'е, дает возможность быстро и качественно создавать объемный текст или логотипы. Мы воспользуемся этими инструментами, чтобы создать из эскиза логотипа полноценный 3D-объект.

Рис 5 показывает эскиз логотипа, который мы будем создавать.

Рис 5. Эскиз логотипа.

Сначалы мы импортируем наш эскиз, для того чтобы его можно было использовать как шаблон. Blender поддерживает TGA, PNG и JPG форматы картинок. Чтобы загрузить картинку, вы берите из меню View>Background Image..., в заголовке 3D-окна. Появится окошко настройки картинки для фона, нажмите сначала кнопку Use background Image, а затем кнопку с изображением открытой папки и из окна файлов выберите нужный файл с картинкой. (Рис 6).

Рис 6. Окно для загрузки фоновой картинки (в новой версии немного отличается).

Закройте это окошко, нажав на крестик в верхнем левом углу и у вас получится сцена с загруженной картинкой фона (Рис 7). Вы можете скрыть картинку фона (шаблон), выбрав снова из меню View>Background Image... и нажав на кнопку Use background Image.

Рис 7. Эскиз логотипа загружен как фоновая картинка.

Добавьте новую кривую, нажатием Пробел >>CURVE>>BEZIER CURVE. Появится сенмент кривой, в режиме редактирования. Мы будем перемещать и добавлять точки кривой чтобы обвести шаблон логотипа.

Вы можете добавлять точки (вершины) следующим образом: выберите сначала одну из крайних точек, удерживайте клавишу CONTROL и кликайте ЛКМ в нужном месте. Оратите внимание, что новая точка сразу соединяется с выбранной. После того как вы добавили новую точку, вы можете перемещать ее, выбрая управляющие вершины и нажимая клавишу G. Вы можете изменять изгиб кривой, выбирая и перемещая одну из вершин управляющего рычага (Рис 8).

Рис 8. Управляющие рычаги Бизье

Можно добавить новую точку между двумя существующими точками, просто выберите две точки и нажмите W и из меню выберите SUBDIVIDE (Рис 9).

Рис 9. Добавление контрольной точки.

Удалить точку можно ыбрав ее, и нажав X>>SELECTED. Разделить кривую на две, можно выбрав две контрольные вершины (точки) и нажать X>>SEGMENT.

Чтобы сделать угол кривой острым, выберите контрольную точку и нажмите CTRL-V. Вы заметите как цвет управляющих рычагов изменится с сиреневого на зеленый (Рис 10). В этой точке, вы можете корректировать рычаги, для изменения пути, по которому кривая входит и оставляет контрольную вершину(точку) (Рис 11).

Рис 10. Управляющие рычаги-векторы (зеленые) .

Рис 11. Свободные управляющие рычаги (черные).

Чтобы замкнуть кривую в еденую линию, выберите две крайние контрольные вершины и нажмите C. Это действие объединит две выбранные контрольные вершины сегментом (Рис 12). Вам понадобится проделать много разных манипуляций с управляющими рычагами, чтобы добиться нужной формы.

Рис 12.

Выйдите из режима редактирования клавишей TAB и включите режим отображения граней Z и отрендерьте сцену, вы увидите, что кривая имеет цельную форму фигуры (Рис 13). Нам нужно сделать несколько вырезов на форме, чтобы вставить глаза и крылья для дракона. Приработе с кривыми, Blender автоматически определяет оверстия на поверхности и обрабатывает их соответственно. Вернитесь в каркасный режим Z и войдите снова в режим редактирования TAB.

Рис 13. Логотип с тенями.

В режиме редактирования добавьте кольцо Пробел>>CURVE>>BEZIER CIRCLE (Рис 14). Масштабируйте кольцо до нужного размера клавишей S и перемещайте G.

Рис 14. Добавление кольца.

Придайте кольцу нужную форму используя приемы описанные выше (Рис 15). Напоминаю, что вы можете добавлять вершины с помощью W>>SUBDIVIDE.

Рис 15. Создание глаза.

Создайте вырез в крыле, добавив кольцо Бизье, конвертируйте все точки в острые углы и затем подстройте как нужно. Вы можете сделать копию этого выреза, скопировав первый и сделать, таким образом, второй вырез крыла . Для этого, убедитесь что ни одна точка не выбрана, потом поместите курсор мыши над одной из вершин первого выреза крыла и выберите все связанные вершины (точки) с помощью клавиши L (Рис 16). Сделайте копию с помощью SHIFT-D и переместите ее в нужное место.

Рис 16. Создание крыльев.

Если вы хотите добавить больше деталей, не связанных с основной фигурой логотипа (например, сфера в изогнутом хвосте дракона), вы можете сделать это, используя основное меню Пробел или SHIFT-A и добавляя большее количество кривых как на Рис 17

Рис 17. Сфера внутри хвоста.

Теперь у нас есть кривая необходимой формы, нам нужно подстроить опции ее толщины и скоса. Выберите кривую, перейдите к кнопкам редактирования (F9). Параметр "Ext1" определяет толщину, а "Ext2" устанавливает размер скоса (фаски). BevResol определяет разрешение скоса (острый или более плавный).

Рис 18 показывает настройки примененные для этой кривой.

Рис 18. Настройки

Tip | Кривые в Мешь-объект
 | Если вы хотите проделать еще более сложные операции моделирования, то преобразуйте кривую в меш, с помощью ALT-C>>MESH. Обратите внимание, что эта операция необратима: вы не сможете конвертировать меш снова в кривую.

После того как логотип полностью готов, добавьте материалы, освещение и отрендерьте его (Рис 19).

Рис 19. Результат.

<<< Пред | След >>>
Ресурсы | Поверхности


Поверхности

Поверхности, фактически это расширение кривых NURBS. В Blender'е они являются отдельным типом объекта. Кривая производит только одномерную интерполяцию, а поверхности имеют второе дополнительное измерение, первое называется U, что касается кривых, второе V.

Двумерная сетка, состоящая из контрольных точек, определяет форму для NURBS-поверхностей.

Используйте поверхности для создания жидкообразных форм объекта. Они могут быть циклическими в обоих направлениях, позволяя вам легко создавать такие объекты как 'бублик'. Поверхности могут также быть отображены как 'цельный' объект (клавиша Z) в режиме редактирования ( с OpenGL-освещением). Это сильно облегчает работу с поверхностями.

Текущая версия Blender'а содержит основные инструменты для работы с поверхностями. Они содержат ограничения при создании отверстий или плавящихся поверхностей. Будущие версии будут содержать более продвинутые функциональные возможности в этих областях.

Добавить поверхность в сцену можно из меню ADD Рис 19. NURBS-кривая - в сущности таже NURBS-поверхность, просто без одного измерения. Вот почему вы можете выбрать 'Curve'(кривую) из меню 'Surface' (поверхность)!

Но имейте ввиду, что "чистая" NURBS-кривая и NURBS-кривая поверхности не взаимозаменяемы, это станет ясно при рассмотрении процесса "выдывливания"(extruding), описанного ниже и для инструмента skinning (создание поверхности с помощью сечений).

Рис 19. Меню добавления поверхностей.

Если вы добавите кривую поверхности, то вы потом сможете создать настоящую поверхность при помощи обычного "выдавливания" (extruding) всей кривой (E). Затем каждый край (ребро) поверхности может быть "выдавлено" по вашему желанию. Используйте C чтобы сделать циклическим направления U или V. Это важно при настройке 'узлов' для "Uniform" или "Endpoint" в кнопках редактирования.

Поверхность становится активной, если одна из её вершин выбрана ПКМ. При этом появляются кнопки редактирования.

При работе с поверхностями, всегда удобно работать с целым столбцом или строчкой вершин. Blender предостовляет для этого инструмент: SHIFT-R, "Выбрать строчку(ряд)". Начиная от последней выбранной вершины, и заканчивая строкой вершин, происходит выбор вершин в направлении 'U' или 'V'. Повторное нажатие SHIFT-R, с той же выбранной вершиной, переключает между направлениями 'U' и 'V'.

Рис 20. Поверхность Сфера

NURBS способен создать чистые формы, типа колец, цилиндров и сфер. Но, имейте ввиду, что кольцо Бизье - "не чистое" кольцо.

Чтобы создать "чистые" кольца, глобусы или цилиндры, вам необходимо установить воздействие (weight - влияние, вес) вершин на кривую. Интуиция здесь не поможет и для начала вам настоятельно рекомендуется по больше почитать о NURBS. В основном, чтобы получить круговую дугу из кривой, с 3 контрольными точками, конечные точки должны иметь унитарное воздействие, а центральная, должна иметь воздействие, которое равняется половине косинуса 1/2 угла между сегментами, соединяющими точки. Рис 20 показывает это на примере глобуса. Три стандартных числа в ключены в настройках, в кнопках редактирования (Рис 21). Чтобы узнать значение влияния (воздействия) вершины на кривую, нажмите N.

Рис 21. Настройки влияния.

<<< Пред | След >>>
Кривые и Поверхности | Текст


Текст

Рис 22. Пример использования текста

Текс для Blender'а, это особый тип кривой. Blender имеет свой собственный, встроенный шрифт, но можно также использовать и внешние шрифты. На данный момент, Blender поддерживает Postscript Type 1 и шрифты True Type (Рис 22).

Начните с пустой сцены, нажав CTRL-X и добавьте объект типа Текст (TextObject), с помощью панели инструментов (ADD->Text). В режиме редактирования, вы можете редактирвать (вводить) тест с клавиатуры, курсор будет указывать вам текущую позицию в тексте. Вы также можете конвертировать текст, введенный в текстовом окне (SHIFT-F11), в 3D-текст, нажав ALT-M. Когда вы выйдите из режима редактирования, клавишей TAB, Blender заполнит текстовую кривую и у вас получится плоский объект готовый к рендерингу.

Теперь, перейдем к кнопкам редактирования F9 (Рис 23).

Рис 23. Кнопки редактирования текста

Как видно из меню FONTS (в одном ряду с кнопкой "Load", панель Font), при создании нового текстового объекта, по умолчанию, Blender использует встроенный шрифт (Bfont). Теперь кликните кнопку "Load" и через появивщееся файловое окно, перейдите в директорию, в которой есть поддерживаемые Blender'ом шрифты и загрузите их (некоторые шрифты можно найти в Интернете). После загрузки шрифта(ов), вы можете переключать шрифты для вашего объекта, с помощью меню FONTS.

И теперь, у нас есть просто плоский объект. Чтобы придать объекту глубину, нам неоходимо использовать кнопки "Ext1:" и "Ext2:" (панель Curve and Surface), таким же способом, как и для обычных кривых.

С помощью опции "TextOnCurve:" вы можете заставить текст следовать изгибу 2D-кривой. Для выравнивания текста по кривой, используйте кнопки "Left", "Middle", "Right"...

Удобная фунция для текстового объекта это то, что он может быть конвертирован (ALT-C) в кривую со свойствами Бизье, что позволяет вам редактировать каждый символ текста отдельно. Это особенно удобно при создании эмблем или надписей.

Преобразование текста в кривую необратимо, но возможна дальнейшее преоразование из кривой в меш.

Специальные символы

Обычно, текстовый объект выглядит как слово "Text". Его можно просто удалить, используя клавиши SHIFT-BACKSPACE. Ввод текста с клавиатуры возможен только в режиме редактирования. Почти все "горячие клавиши" блокируются. Курсор перемещается с помощью стрелок клавиатуры. Используйте SHIFT-Стрелка влево и SHIFT-Стрелка вправо, чтобы перемещать курсор в начало или конец текстовой строки.

Доступны почти все спецсимволы:

  • ALT-c: copyright

  • ALT-f: Голландский Флорин

  • ALT-g: градус

  • ALT-l: Британский Фунт

  • ALT-r: Зарегистрированная торговая марка

  • ALT-s: Немецкая S

  • ALT-x: Знак умножения

  • ALT-y: Японская Иена

  • ALT-Точка: кольцо

  • ALT-1: маленькая 1

  • ALT-2: маленькая 2

  • ALT-3: маленькая 3

  • ALT-SHIFT-?: Испанский знак вопроса

  • ALT-SHIFT-!: Испанский восклицательный знак

  • ALT-SHIFT->: двойные >>

  • ALT-SHIFT-<: двойные <<

<<< Пред | След >>>
Поверхности | Выдавливание вдоль пути


Выдавливание вдоль пути

Техника "Выдавливание вдоль пути" очень мощный инструмент в моделировании. Она заключается в создании поверхности с использованием профиля и заданного пути.

Профиль и путь могут быть как Бизье кривая так и NURBS.

Давайте представим, что вы добавили в вашу сцену кривую Бизье и кольцо Бизье, как отдельные объекты (Рис 24).

Рис 24. Профиль (слева) и путь (справа).

Немного модифицируйте их так, чтобы получить профиль похожий на крыло и путь как на (Рис 25). Пожалуйста обратите внимание, что, по умолчанию, Бизье существует только на одной плоскости и является 2-мерным объектом. Чтобы сделать путь трёхмерным, как в нашем примере, нажмите кнопку '3D' в кнопках редактирования (F9) (Рис 26).

Рис 25. Модифицированный профиль (слева) и путь (справа).

Рис 26. Кнопки редактирования.

Теперь посмотрите на название профиля. Название можно увидеть в окне кнопок редактирования (или вызвать окно трансформации объекта, клавишей N), когда объект выбран. По умолчанию это "CurveCircle". Вы можете изменить название на своё, кликнув по нему SHIFT-ЛКМ (Рис 27).

Рис 27. Название профиля.

Теперь выберите путь. И в кнопках редактирования найдите текстовое поле 'BevOb:' и впишите в него название профиля. В нашем случае 'CurveCircle' (Рис 28).

Рис 28. Привязка профиля к пути.

В результате профиль "выдавится" через весь путь и получится объект как на (Рис 29).

Рис 29. Результат.

Чтобы понять как это работает и получать необходимые эффекты, важно усвоить следующее:

  • Профиль ориентирован таким образом, что его ось Z является касательной (то есть направленной вдоль) пути и его ось X находится на плоскости пути; следовательно ось Y ортогональна к плоскости пути;

  • Если путь задан как 3D , в кнопках редактирования, то он будет отображен как кривая с перпендикулярными сегментами (Рис 30);

  • Ось Y профиля всегда указывает вверх. Это часто является источником неожиданных результатов и проблем, которые будут рассмотренны позже.

Рис 30. Путь.

Tip | Отклонение
 | Вы можете изменять ориентацию локального пути, выбрав контрольную точку и нажав T. После этого перемещайте мышь, изменяя направление сегментов пути между соседними контрольными точками. ЛКМ фиксирует нужное положение, ESC возвращает в первоначальную позицию.

Когда ось Y ограничена по направлению вверх и когда путь задан как 3D, и выдавливаемый профиль достигает точки, где путь изгибается так, что ось Y профиля профиля указывает вниз, могут происходить неожиданные результаты. Если это происходит, значит путь имеет резкий поворот на 180 градусов.

Рис 31 четко показывает эту проблему. Слева показан путь, чья крутизна такая, что нормаль к локальной плоскости пути всегда направленна вверх. Справа показан путь (точка обведена желтым кольцо), там нормаль, начинает указывать вниз. В результате выдавливания там появляется резкий поворот.

Рис 31. Проблема выдавливания.

Решение этой проблемы: Используйте путь с одинаковой ориентацией сегментов по всей длине или аккуратно изгибайте путь, обеспечивая направление нормалей вверх.

Возможно что в самой новой версии Blender'а, с этой проблемой вы не столкнетесь (прим. переводчика)

Tip Изменение ориентации профиля

Если ориентация профиля по кривой вас не устраивает и вы хотите изменить ее по всей длине пути, есть лучший способ изменить это, чем наклон всех контрольных точек пути.

Вы можете просто вращать профиль в режиме редактирования на его плоскости. Таким способом профиль изменит направление, но его локальная ссылка нет.

<<< Пред | След >>>
Текст | Ширина и форма объекта с помощью кривой


Ширина и форма объекта с помощью кривой

автор: Kenneth Styrberg

Относится к Blender v2.35

Инструмент, который определяет ширину и форму объекта называется "Curve Taper". Он предназначен для объектов типа Сurve (Кривая). На панели Curve and Surface, (контекст Editing F9), есть текстовое поле TaperOb, где вам нужно ввести название Кривой, которая будет определять ширину (и форму) объекта типа Curve.

Рис 33. Панель Curve and Surface

Note

Есть несколько важных правил:

  • В текстовом поле TaperOb вычисляется только первая Кривая.

  • Объект формируется слева направо (Кривой).

  • Негативные значения для Кривой возможны, но при рендеринге могут появляться артефакты.

  • "Выдавливание" объекта основывается на данных Кривой, определяющей ширину объекта, это значит, что острые углы на этой Кривой, будут почти незаметны.

Рис 34. Пример 1

На Рис 34 , четко видно эффект на объекте справа, который создает Кривая слева. В данном примере, Кривая, которая определяет форму объекта, "выдавленного" вдоль пути (слева), замкнута на центр объекта. В результате, получается более тонкий объект (справа).

Рис 35. Пример 2

На Рис 35 , контрольная точка (вершина) Кривой, которая определяет форму объекта (слева), перемещена в сторону от центра объекта. В этом случае, объект получается более широкий (справа).

Note

Объект типа Curve, был "выдавлен" с помощью объекта Curve Circle. (За подробной информацией о "выдавливании", обращайтесь в раздел Выдавливание вдоль пути ).

На Рис 36, вы видите использование более неравномерной кривой.

Рис 36. Пример 3

<<< Пред | След >>>
Выдавливание вдоль пути | Деформация объекта с помощью кривой


Деформация объекта с помощью кривой

автор: Kenneth Styrberg

Относится к Blender v2.35

Введение

Деформация объекта с помощью кривой предоставляет очень простой, но эффективный способ деформирования меша. С помощью связи (parenting) меш-объекта и кривой, вы можете деформировать меш вдоль кривой, просто перемешая его вдоль или ортогонально по отношению к доминирующим осям.

Деформация с помощью кривой работает по доминирующим осям , X, Y, или Z. Это значит, что когда вы двигаете ваш меш в доминирующем направлении, меш будет двигаться по кривой. Движение меша в ортогональном направлении, будет приближать или отдалять объект от кривой. По умолчанию в Blender'е, ось Y является доминирующей осью. Когда вы двигаете объект за пределами окончания кривой, объект будет деформироваться основываясь на направлениях управляющих векторов.

Tip

Попробуйте во время перемещения, расположить ваш объект поверх кривой. Это даст возможность лучше понять как работает деформация.

Интерфейс

Когда вы связываете меш и кривую, через CTRL-P, появится меню как на Рис 37. Выберите пункт Curve Deform , после этого вы получите возможность деформировать меш с помощью кривой.

Рис 37. Меню Make Parent.

Доминирующие оси, это оси кривой. Как уже было сказано, ось Y является доминирующей по умолчанию. Чтобы изменить доминирующую ось, нужно использовать кнопки Track X,Y или Z на панели Anim settings, Рис 38, контекст Object (F7).

Рис 38. Панель Anim settings.

Замкнутые кривые также работают, здесь деформация объекта проходит вдоль пути замкнутой кривой.

Кнопка CurveStretch дает возможность растянуть (или сжать) объект вдоль всей кривой. Кнопка находится в контексте Edit (F9), панель Curve and Surface. Смотрите Рис 39.

Рис 39. Панель Curve and Surface.

Пример

Давайте попробуем всё это на простом примере.

1. Удалите со сцены куб и добавьте обезьянку (Monkey). (SHIFT-A -> Add -> Mesh -> Monkey, Рис 40)

Рис 40. Добавление обезьянки.

2. Теперь выйдите из режима редактирования, нажав TAB, и добавьте кривую Бизье. (SHIFT-A -> Add -> Curve -> Bezier Curve, Рис 41)

Рис 41. Добавление кривой.

3. Оставаясь в режиме редактирования, переместите контрольные точки кривой, так, как показано на Рис 42, потом выйдите из режима редактирования (TAB).

Рис 42. Редактирование кривой.

4. Выберите обезьянку, (ПКМ), потом удерживая SHIFT выберите кривую. Нажмите CTRL-P и из меню Make Parent выберите Curve Deform. Рис 37.

Обезьянка должна будет разместиться на кривой как на Рис 43.

Рис 43. Обезьянка расположена на кривой.

5. Теперь, если выбрать обезьянку (RMB) и перемещать её (G) по оси Y, (это доминирующая ось по умолчанию) обезьянка будет плавно деформироваться вдоль кривой.

Tip

Если во время перемещения нажать СКМ , то обезьянка будет перемещаться строго по определенной оси.

6. На Рис 44, вы видите обезьянку в разных местах кривой. Чтобы сделать результаты деформации более привлекательными, я для обезьянки включил опцию SubSurf с параметром Subdiv 2, а также нажал Set Smooth. (В окне кнопок редактирования F9).

Tip

Перемещение обезьянки по недоминирующей оси, приведет к очень неестественной деформации. Но, в некоторых случаях, это может быть именно то, что вам нужно! Поэтому, вам обязательно нужно некоторое время поэксперементировать с этой функцией.

Рис 44. Деформация обезьянки.

<<< Пред | След >>>
Ширина и форма объекта с помощью кривой | Cоздание поверхности (Skinning)


Cоздание поверхности (Skinning)

Skinning - прекрасный способ создания поверхности, посредством двух или более профилей. В Blender'е, это делается так: вы подготавливаете кривые необходимой вам формы и количества, а затем конвертируете их в сплошную NURBS-поверхность.

Для примера, мы создадим парусник. Для начала, вам необходимо добавить при виде сбоку (NUM 3) кривую поверхности: ADD>Surface>NURBS Curve. Обратите внимание, добавить нужно именно Surface кривую, поэтому из меню ADD, выберите именно пункт Surface , а не Curve>Bezier Curve или NURBS Curve, иначе ничего не получится (Рис 32).

Рис 32. Кривая для создания поверхности.

Придайте кривой форму профиля для средней части парусника, с помощью добавления контрольных точек (W), там где необходимо, и возможно нужно установить параметр 'Endpoint' 'U' и 'V' для NURBS (Рис 33).

Рис 33. Профиль корабля.

Теперь скопируйте кривую (SHIFT-D) столько раз, сколько вам необходимо и разместите как на (Рис 34). Придайте форму каждому профилю в соответствии с частью корпуса корабля. В этом случае может помочь картинка с шаблоном. Вы можете загрузить её как фон, также как в случае с моделированием логотипа (Рис 35).

Обратите внимание, что поверхность, которая будет получена, будет идти гладко от одного профиля к другому. Чтобы иметь резкие переходы, необходимо разместить профили, очень близко друг к другу, как это показано для выбранного профиля на Рис 35.

Рис 34. Расположение профилей вдоль оси корабля.

Рис 35. Расположение профиля для резкого перехода.

Теперь, выберите все кривые (с помощью B) и объедините их (CTRL-J и подтвердите в окошке 'Join selected NURBS?'). У вас получится что-то похожее как на Рис 36

Рис 36. Объединенные профили.

Теперь перейдите в режим редактирования (TAB) и выберите все контрольные точки (вершины) A; потом нажмите F. После этого из профилей будет создана сплошная поверхность (Рис 37).

Рис 37. Созданная поверхность в режиме редактирования.

При необходимости, вы можете модифицировать поверхность, просто перемещая контрольные точки. Рис 38 показывает объект в сплошном режиме отображения (с тенями).

Рис 38. Законченный корпус.

Tip | Настройка профиля
 | Единственное ограничение для этой методики, это то, что все профили должны содержать одинаковое количество контрольных точек (вершин). Поэтому рекомендуется начинать моделирование с самого сложного профиля и потом его копировать, чтобы избежать добавления или удаления вершин.
<<< Пред | След >>>
Деформация с помощью кривой | Ресурсы


Ресурсы

  • Моделирование стульев - http://blender3d.ru/tutor9.html

  • Создание булавки - http://www.is.svitonline.com/sailor/tutor/lof_skin/lof_skin.htm

  • Ваза из сечений - http://www.is.svitonline.com/sailor/tutor/lof_skin/lof_skin.htm

  • Пещера Тарзана (старый учебник) - http://www.is.svitonline.com/sailor/tutor/bart/cave_ru.htm

<<< Пред | След >>>
Cоздание поверхности(Skinning) | Материалы и Текстуры


Материалы и текстуры

перевод: Sailor

Перед тем, как вы научитесь эффективной работе с материалами, вам необходимо понять, как эмуляция света и поверхность взаимодействуют друг с другом в рендерном движке Blender'а и как настройки материалов управляют этим взаимодействием. Глубокое понимание рендерного движка, поможет вам добится лучших результатов.

Визуализируемая картинка, которую вы создаете в Blender'е, это проекция сцены на воображаемой поверхности, которая называется viewing plane(плоскость просмотра). Плоскость просмотра, аналогична пленке в обычной камере или сетчатке человеческого глаза, за исключением того, что она принимает эмулированный свет, а ненастоящий.

Чтобы отрендерить картинку сцены, первым делом нам необходимо установить свет, идущий от сцены, так, чтобы он достигал каждой точки на плоскости просмотра. Лучший способ решить этот вопрос, это следовать за прямой линией (эмуляция светового луча) в обратном направлении, через точку на плоскости просмотра и фокусе (расположение камеры), пока она не попадет на точку визуализируемой поверхности в сцене. Свойства поверхности и угол падения света сообщают нам, сколько этого света может быть отражено назад, вдоль угла просмотра (Рис 1).

Рис 1. Основной принцип рендерного движка.

Когда световой луч попадает на любую точку поверхности, имеют место два основных типа явлений: диффузия (рассеивание) и зеркальное отражение. Диффузия и зеркальное отражение, отличаются от друг друга, главным образом, соотношением между углом падения света и углом отраженного света.

Диффузия

Относится к Blender v2.31

Свет попадающий на поверхность, из-за явления Диффузии будет рассеян, то есть он снова даст свет во всех направлениях. Это означает, что камера будет видеть то же самое количество света от точки поверхности независимо от того, каков угол просмотра.

Именно это качество делает диффузию света независимую от точки просмотра. Конечно количество света, который попадает на поверхность, зависит от угла падения света. Если большее количество света, попадающего на поверхность, отражается диффузно, то поверхность будет иметь матовый оттенок (Рис 2).

Рис 2. Свет и явление Диффузии.

Начиная с версии 2.28, Blender имеет три встроеннных разных математических алгоритма для просчета диффузии. И что более замечательно, диффузию и отражение, которые обычно объеденены в один тип материала, теперь можно настраивать поотдельности.

Три типа Диффузии, или shaders (shader, шейдер - прикладная программа для создания теней), используют два и более параметров. Первые два параметра относятся ко всем шейдерам и определяют Цвет диффузии, или просто цвет материала, и количество енергии света, которое в действительности рассеивается. Последний параметр, определяется интервалом в [0,1], и обычно обозначен в интерфейсе как Refl.

Типы шейдеров:

  • Lambert -- Этот тип шейдера был в Blender'е по умолчанию аж до версии 2.27. Поэтому все старые учебники и картинки были созданы с этим шейдером. Он имеет параметры только по умолчанию.

  • Oren-Nayar -- Этот шейдер впервые появился в Blender'е 2.28. У него несколько более 'физический' подход к явлению диффузии, потому что помимо двух заданных по умолчанию параметров, этот шейдер имеет третий, который используется для определения количества микроскопической шероховатости на поверхности.

  • Toon -- Этот шейдер также впервые появился в Blender'е 2.28. Он не предназначен для эмуляции натуральной тени, а производит 'мультяшный' рендеринг, с чистыми свето-теневыми границами и равномерными областями света/тени. Даже при том, что этот шейдер относительно прост, он требует еще двух параметров, которые определяют размер области света и резкости границ тени.

Следующий раздел, посвящен фактическому применению материала. В этом разделе будут проанализированы все материалы и параметры настройки, которые к ним относятся .

<<< Пред | След >>>
Ресурсы | Зеркальное отражение


Зеркальное отражение

Относится к Blender v2.31

В отличии от диффузии, зеркальное отражение зависит от точки просмотра. Согласно Закону Снелла, свет, ударяющий о зеркальную поверхность, будет отражен под углом, который зеркально отражен углу падения света, что и делает угол просмотра очень важным. (Рис 3).

Рис 3. Зеркальное отражение.

В действительности, диффузия и зеркальное отражение генерируется одинаковым процессом рассеивания света. Диффузия пребладает на поверхности, которая имеет так много шероховатостей и неровностей, относительно длины волны, что свет отражается во множество разных направлениях, от каждого маленького участка поверхности, с незначительными изменениями в угле поверхности.

Зеркальное отражение, с другой стороны, пребладает на поверхности, которая является гладкой, относительно длины волны. Оно подразумевает, что рассеянные лучи от каждой точки поверхности направлены почти в том же самом направлении, а не в разные стороны. Это зависит от размера деталей. Если шероховатость поверхности намного меньше чем длина волны падающего света, она кажется плоской и действует как зеркало.

Note

Важно подчеркнуть, что явление зеркального отражения, обсуждаемого здесь, не то отражение, которое мы видели бы в зеркале, а простые отблески, которые мы увидим на глянцевой поверхности. Чтобы получить настоящие, подобные зеркалу отражения, вам необходимо использовать raytracer (трассировщик лучей). Blender имеет встроенный raytracer, который может производить достаточно правдоподобные отражения. Зеркальное отражение можно также симулировать, используя особый способ применения текстур, об этом будет сказано позже.

Как и диффузия, зеркальное отражение имеет несколько различных способов реализации, т.е. несколько видов зеркальных (отражающих) шейдеров. И также, каждый шейдер имеет два общих параметра: Цвет отражения и количество энергии отражения, в диапазоне [0-2]. Это позволяет большему количество энергии, излучаться как зеркальное отражение. В результате, материал имеет по крайней мере два различных цвета - диффузный и зеркальный. Зеркальный цвет обычно устанавливается в чисто белый, но он может быть установлен и в любой другой, для получения интересных эффектов.

Имеются 4 зеркальных (отражающих) шейдера:

  • CookTorr -- Это был единственный зеркальный (отражающий) шейдер Blender'а, аж до версии 2.27. И в самом деле, до этой версии не было возможности устанавливать параметры диффузии и зеркальности поотдельности. Кроме двух стандартных параметров, этот шейдер использует трейтий параметр - hardness (жесткость), который регулирует ширину зеркального отблеска. Более низкое значение, дает более широкий отблеск.

  • Phong -- Это другой математический алгоритм для вычисления отблесков отражения и он не сильно отличается от CookTor и управляется теми же самыми тремя параметрами.

  • Blinn -- Это более 'физический' зеркальный шейдер и был задуман для диффузного шейдера Oren-Nayar. Поэтому, для этого шейдера (помимо трех описаных параметров) был добавлен еще четвертый параметр - index of refraction (IOR)(индекс преломления). Этот параметр фактически не используется для вычислить преломление лучей (для этого необходим трассировщик лучей), а используется для правильного вычисления интенсивности зеркального отражения и расширения, с помощью закона Снелла. Твердость и параметры зеркальности дают дополнительную степень свободы для настройки.

  • Toon -- Этот зеркальный шейдер соответствует диффузному Toon. Он предназначен для создания точных, однородных ярких участков. Имеет параметры Size и Smooth которые определяют размеры и четкость зеркальных отблесков.

Благодаря такому гибкому решению, которое предоставляет отдельные настройки явления диффузии и зеркального отражения, Blender позволяет нам легко управлять количеством рассеяного света, попавшего на поверхность, и количеством отраженного и поглощеного света. Это, в свою очередь, определяет в каких направлениях (и в каком количестве) свет отражен от данного источника; то есть от каких источников (и сколько их) свет отражен от данной точки до плоскости просмотра.

Очень важно помнить, что цвет материала - это только одна составная часть в процессе рендеринга. Цвет обьекта, фактически, это результат от цветового оттенка света и цвета материала.

<<< Пред | След >>>
Материалы и текстуры | Материалы в практике


Материалы в практике

Относится к Blender v2.31

В этом разделе мы рассмотрим как установить различные параметры материалов в Blender'е, и что в результате вы получите.

Рис 4. Добавление нового материала.

Когда объект выбран, нажмите клавишу F5 или кнопку [image] , чтобы переключится к контексту Shading, где появится окно с кнопками материалов. Это окно будет почти пустым, если объектуеще не назначен материал. Если материала нет, добавьте новый кнопкой меню (Рис 4).

После того как материал добавлен, появятся кнопки как на Рис 5. Здесь находятся 4 панели, слева на право: панель Preview (Предпросмотр), Material (Материал), панель Shader (Шейдер) и панель Texture (Текстура). В данный момент, мы сконцентрируемся на первых трёх панелях.

Рис 5. Кнопки материалов.

На панели Preview (Предпросмотр) отображается текуший материал материал и все его изменения. По умолчанию предпросмотр имеет вид плоскости, но при помощи кнопок, расположенных справа на панели, вы можете изменить вид предпросмотра на сферический или в виде куба (Рис 6).

Рис 6. Предпросмотр материала в виде плоскости, куба и сферы.

Цвет материала

Панель Material (Материал)(Рис 7) помимо других вещей, позволяет вам настроить цвет материала.

Рис 7. Кнопки настройки цвета для материала.

Каждый материал, может содержать три цвета:

  • Общий цвет или цвет диффузии или просто Цвет (обозначен кнопкой Col), это цвет который использует диффузный шейдер.

  • Цвет отражения, обозначен кнопкой Spe, используется шейдером отражения.

  • Цвет зеркальности, обозначен кнопкой Mir, этот цвет используется специальными текстурами для эмуляции зеркала. (Более подробно об этом в разделе Карты окружающей среды).

Вышеупомянутые кнопки выбирают подходящий цвет, который тут же отображается слева от каждой кнопки. Три слайдера справа позволяют вам изменять параметры активного цвета, по RGB схеме и HSV. Вы можете выбрать эти схемы переключая кнопки снизу RGB и HSV.

Кнопка DYN используется, чтобы установить Динамические свойства объекта в игровом движке (о котором описано в другой документации), четыре кнопки выше это дополнительные опции для Раскраски вершин и UV-текстурированию.

Шейдеры

Панель Shader на (Рис 8), показывает две кнопки с выпадающим меню, которые позволяют вам выбрать один диффузный шейдер (Рис 9) и один зеркальный (отражающий) шейдер (Рис 10).

Рис 8. Кнопки шейдеров.

Рис 9. Диффузные шейдеры.

Рис 10. Зеркальные (отражающие) шейдеры.

Два слайдера сбоку, имеют силу для всех шейдеров, они определяют интенсивность явлений диффузии и зеркальности. Слайдер Ref имеет диапазон значений от 0 до 1, а слайдер Spec от 0 до 2. Выражаясь чисто физически: Если A это энергия света, падающего на объект. Тогда Ref умноженная на A это рассеяная энергия и Spec умноженная на A это отраженная энергия. Правильно, с точки зрения физики, это выглядит так: Ref + Spec < 1 или объект рассеял бы больше енергии чем получил. Но, так как это компьютерная графика, не сосредотачивайтесь слишком на физике.

В зависимости от выбранного шейдера, могут появится и другие слайдеры, которые позволяют настраивать различные параметры обсужденные ранее.

И под конец, на Рис 11 показаны все возможные комбинации. Конечно же это простой пример, так как параметров настройки очень много.

Рис 11. Обзор шейдеров.

Настройка материалов

Оставшиеся кнопки материалов, на панелях Material и Shaders, дают некоторые интересные эффекты.

Рис 12. Дополнительные слайдеры.

На Рис 12 показаны несколько интересных слайдеров. Alpha управляет прозрачностью материала; 1 это полностью непрозрачный и 0 полностью прозрачный материал. SpecTra делает непрозрачными отблески на объектах. Shadeless убирает все затенения с материала, делает его равномерно окрашенным.

На панели Shaders, слайдер Emit дает материалу свойства излучения (если значение больше 0). Это свойство делает материал видимым, даже без источников света, а также, материал может сам быть источником света при использовании Radiosity. (Рис 13).

Рис 13. Обычный материал (слева), материал с параметром Alpha < 1 (в центре) и материал с параметром Emit > 0 (справа).

Оставшаяся колонка кнопок (Рис 14) активирует некоторые специалные возможности. Кнопка сверху Halo делает материал в виде 'ореола', о котором позже. По умолчанию кнопки Traceable, Shadows и Radio активированы. Первая позволяет материалу отбрасывать тени, вторая позволяет материалу отображать тени; третья, позволяет использовать материал для Radiosity.

Рис 14. Специальные кнопки материалов.

Wire рендерит объект в виде проволочного каркаса. ZTransp небходима для активации эффекта Alpha-прозрачности.

Другие кнопки используются не так часто и описаны в конце этой документации, в разделе справочной информации.

<<< Пред | След >>>
Зеркальное отражение | Рамповые шейдеры


Рамповые шейдеры

автор: Kenneth Styrberg

перевод: Sailor

Относится к Blender v2.34

Введение

Очень часто в реальной жизни, у некоторых материалов таких как кожа или метал, цвет диффузии и отблесков может немного отличаться. Это зависит от количества энергии, которую получает поверхность и от светового угла.

Новая опция в Blender'е Ramp Shader (Рамповые шейдеры) позволяет вам настроить участок цвета для Материала, и определить как этот участок будет менятся по всей поверхности, а также как он смешивается с "настоящим цветом" (обычно это цвет материала или выходящей текстуры).

Так как вычисление текстуры в Blender'е происходит до воздействия шейдеров, опцией Ramp Shader можно полностью изменить цвет материала или текстуры. Но если использовать опции смешивания и Alpha (прозрачность), то в материалах Blender'а можно создать дополнительные слои шейдеров .

Интерфейс

Панель (или вкладка) Ramps находится в контексте Material (F5). Здесь находятся две кнопки, которые при нажатии отображают настройки цвета или для диффузного шейдера - кнопка Show Col Ramp или для шейдера отблесков (зеркальности) - кнопка Show Spec Ramp . (Рис 10.15 Панель Ramps.).

Рис 10.15. Панель Ramps.

Нажатие на кнопку Colorband активирует цветовую палитру (цветовой канал с управляющими маркерами) для Ramp Shaders (рамповых шейдеров). По умолчанию, палитра имеет два цветовых маркера в канале, у первого значение Alpha = 0, и цвет не виден. А второй имеет голубой (бирюзовый) цвет и значение Alpha = 1. (Рис 10.16 Цветовая палитра.).

Рис 10.16. Цветовая палитра (цветовой канал).

Ramps Panel Colorband.

  • Add - Добавляет новый серый (по умолчанию) цветовой маркер в центр канала.

  • Cur - Отображает номер цветового маркера, выбранного на данный момент.

  • Del - Удаляет выбранный цветовой маркер.

  • E/L/S - Определяет тип интерполяции между цветом Ramp Shader (рамповых шейдеров) и цветом Материала . E - легкий или кубический, L - линейный, а S - Б-сплайн.

  • Alpha - Определяет видимость эффекта от Ramp Shader . Значение Alpha равное 0 означает полную прозрачность Ramp Shader , а значит рамповые шейдеры не будут видны. Значение 1 делает Ramp Shader непрозрачными. Если вы установите цвет с различными значениями Alpha, они будут интерполироваться между собой и получится плавный переход между разными установками прозрачности. Вы можете наблюдать результат настроек Alpha на специальной панельке с шаблоном (черно-белые квадратики). Если шаблон просматривается, значит прозрачность менее 1.

  • R/G/B - Текущий цвет в RGB-формате. Вы можете установить нужный вам цвет кликнув ЛКМ по цветовому окошку, которое находится под текстовым полем Pos и используя цветовой указатель, или перемещением RGB-слайдеров.

Текущий цвет в канале, отображается маркером (тоненькая вертикальная черно-белая полосочка). Чтобы выбрать нужный цветовой маркер, вы можете либо кликнуть по нему ЛКМ, или вы брать его номер с помощью стрелок в цифровом поле Cur. Можно еще нажать в цифровом поле SHIFT-ЛКМ и просто ввести вручную нужный номер.

Перемещать цветовые маркеры можно или ЛКМ: кликнуть по маркеру и двигать его, или с помощью стрелок в цифровом поле Pos, либо кликнуть SHIFT-ЛКМ и ввести значение расположения вручную.

Примечание

Если вы измените порядок цветовых маркеров, изменится и их номера. Номера маркеров начинаются всегда с 0, слева на право.

В самом низу пенели есть две кнопки, с выпадающим меню и слайдер, которые определяют работу Ramp Shaders (рамповых шейдеров):

Input (Ввод)

Рис 10.17. Меню Input.

Input popup menu.

  • Shader (Шейдер) - Вычисление цвета происходит по основной шейдерной формуле (как Lambert или Phong). В данном случае количество света не влияет на цвет, влияет только его направление.

  • Energy (Энергия) - Работает также как и Shader, но также в вычислении участвует значение количества энергии света, цвет и дистанция. Это заставляет материал изменять свой цвет с бОльшим попаданием на него света.

  • Normal (Нормаль) - Для Ramp Shader используются нормаль поверхности, относительно камеры.

  • Result (Результат) - Эта опция, делает вычисление после всех шейдерных расчетов. Это позволяет вам полностью контролировать все шейдеры, включая 'Toon'. С использованием значения alpha, можно очень тонко подстроить окончательный вид для Материала.

Method (Метод)

Рис 10.18. Меню Method.

Method popup menu.

Меню Method содержит опции для нескольких типов смешивания (блендинга): Mix (Смесь), Add (Плюс), Subtract (Минус), Multiply (Умножить), Screen (Экран), Divide (Разделить), Difference (Разность), Darken (Затемнение) и Lighten (Осветление).

Опцией Method вы можете выбрать метод смешивания (блендинга) между цветом из Input и цветом установленным самим Рамповым шейдером.

Factor (Фактор)

Рис 10.19. Слайдер Factor.

Слайдер Factor определяет силу эффекта от Ramp Shader: значение 0 означает полное отсутствие эффекта, а значение 1.0 означает полный эффект.

Пример

Давайте сделаем что-нибудь простенькое с использованием Ramp Shaders (рамповых шейдеров).

1. Удалите из сцены куб (по умолчанию) и добавьте меш обезьянки! (SHIFT-A -> Add -> Mesh -> Monkey). Нажмите кнопку Subsurf и установите уровень подразделения для отображения и рендеринга на 2. Нажмите Set Smooth чтобы сгладить меш. Все эти опции в контексте Edit. (F9).

2. Теперь нажмите TAB чтобы выйти из Режима редактирования. Жмем F5 и заходим в контекст Material. На панели Material нажимаем Add New чтобы добавить новый материал. Настройте параметры во вкладке Shaders ка на Рис 10.20.

Рис 10.20. Настройка шейдеров.

3. Перейдите во вкладку Ramps чтобы открыть панель Ramp Shader. Нажмите кнопку Colorband чтобы активировать настройки Ramp Shader. Теперь, попробуйте установить параметры как на Рис 10.21. Не забудьте установить опцию Input в Normal. Для второго цвета справа значение Alpha = 0, а сам цвет полностью черный!

Рис 10.21. Настройка шейдеров.

Ramp Shader settings.

4. Во вкладке Ramps нажмите кнопку Show Spec Ramp и попробуйте установить параметры как на Рис 10.22, 0. и Рис 10.23, 1.

Рис 10.22. Рамповый шейдер для отблеска 0.

Specular Ramp Shader color 0.

Рис 10.23. Рамповый шейдер для отблеска 1.

Specular Ramp Shader color 1.

Вот и результаты рендеринга с учетом тех настроек, которые мы только что сделали. На Рис 10.24 нет Ramp Shader . На Рис 10.25 активирован Рамповый шейдер для цвета и наконец на Рис 10.26 активированы оба эффекта для Рампового шейдера цвета и для Рампового шейдера отблеска!

Помните, это только простейшая демонстрация одного эффекта Ramp Shader. Можно получить на много больше, если попробовать изменить параметры Input и Method. Посмотрите на разницу между этим примером и в результатах которые вы получите.

Рис 10.24. Нет Ramp Shader.

No Ramp Shader.

Рис 10.25. Рамповый шейдер для цвета.

Рис 10.26. Оба эффекта: для Рампового шейдера отблеска и Рампового шейдера цвета.

Both Color and Specular Ramp.
<<< Пред | След >>>
Материалы в практике | Многочисленные Материалы


Многочисленные Материалы

Относится к Blender v2.31

Большинство моделей создаются по частям, каждая часть имеет свой собственный материал. Но в некоторых случаях бывает удобнее создать объект как один цельный меш, и добавить разные материалы.

Посмотрите на грибок показанный на Рис 35. Этот объект является цельным мешем и нам нужно добавить к нему два материала: один для ножки, а второй для шляпки. Вот как это делается.

Рис 35. Грибок

Рис 36. Грибок с одним материалом

1. Создайте материал кремового цвета для ножки и примените его для всего гриба. (Рис 36).

Рис 37. Шляпка грибка с выбранными вершинами.

2. В 3D-окне, войдите в режим редактирования и выберите все вершины относящиеся к шляпке (Рис 37).

3. Перейдите к кнопкам редактирования (F9), на панель Link and Material, и нажмите кнопку New (Рис 38).

Рис 38. Добавление нового материала

4. Теперь меш имеет два материала. Надпись 2 Mat: 2 означает, что материал 2 из 2 является активным. После того как вы нажмете кнопку Assign, новый материал будет назначен для выбранных граней, а не выбранные грани сохранят любой предыдущий материал.

Чтобы посмотреть каким граням принадлежит этот материал, нажмите кнопки Select и Deselect. Переключение между материалами осуществляется цифровой кнопкой Mat:. Вы можете назначать до 16 разных материалов для одного меша.

5. В любом случае, эти оба материала - образцы того же самого материала! Теперь, сохраняя активным тот материал, который вы хотите изменить, переключитесь к кнопкам материалов (F5), где вы найдете такую же кнопку "2 Mat 2". Сейчас этот материал используется дважды (или является Многопользовательским материалом), на что указывает синий цвет надписи названия материала и цифровая кнопка "2" (Рис 39).

Рис 39. Многопользовательский материал

Кликните по "2" и подтвердите OK? Single user (материал станет однопользовательским). Теперь у вас есть копия материала. Первоначальный материал по прежнему называется "Stem", а его копия "Stem.001". Переименуйте копию на "Cap". Теперь вы можете редактировать этот материал отдельно, на ваше усмотрение. (Рис 40).

Рис 40. Грибок с двумя материалами.

Tip | Текстуры
 | Если ваш материал использует текстуру, то она все равно останется связана с материалом, даже если вы сделаете материал однопользовательским. Чтобы разорвать связь материала с текстурой, для редактирования каждой текстуры материала по отдельности, перейдите к кнопкам управления текстурой для данного материала и точно также сделайте текстуру однопользовательской.
<<< Пред | След >>>
Рамповые шейдеры | Специальные Материалы


Специальные Материалы

Относится к Blender v2.31

Blender предостовляет набор материалов, на которые не действуют шейдеры и применяются они, в основном, для вершин, нежели для граней.

Материалы Halo (ореол)

Нажмите кнопку Halo, в окне кнопок материалов (F5), на пенели Shaders. Пенель изменит свой вид как на Рис 41.

Рис 41. Кнопки Halo

Как видите, грани меша уже не рендерятся; вместо этого, каждая вершина имеет вид 'ореола'. В основном, это полезно для системы частиц, т.к. там генерируется множесво вершин, но ореолы могут также пригодится для создания некоторых спецэффектов. Например, можно сделать объект раскаленным, светящимся или можно создать видимый источник света.

Вы также заметите, что три кнопки, которые в стандартных материалах устанавливали цвета диффузии, отражения и зеркальности, теперь устанавливают другие свойства материала: цвет самого halo, цвет колец (Rings) и цвет линий (Lines), которые вы возможно захотите добавить соответсвующими кнопками Рис 41.

Рис 42. Разновидности Halo

На Рис 42 показано применение материала halo для одиночной вершины меша. Размер halo, прозрачность (alpha), и жесткость (hardness) можно настраивать соответсвующими слайдерами Рис 41. Слайдер Add определяет количество 'добавленных' цветов Halo к объектам позади и вместе с другими Halo.

После того как, вы включите типы halo соответствующими кнопками, вы можете настроить количество колец (Rings), линий (Lines) и точек звёзд (Star) независимо друг от друга, используя цифровые кнопки Rings:, Lines: и Star:. линии и кольца распологаются случайным образом, чтобы изменить их расположение и ориентацию, используйте опцию Seed:, которая устанавливает параметры для генератора случайных чисел.

Давайте воспользуемся материалом halo и создадим растровый дисплей (афиша).

1. Для начала, добавьте сетку (grid), с разрешением 32x16. Затем установите камеру так, чтобы афиша хорошо просматривалась .

2. Используйте программу для редактирования 2D-картинок, чтобы создать текст, красного цвета, на черном фоне. Используйте простой и жирный шрифт. Рис 43 показывает картинку 512 на 64 пиксела, с неболшими пробелами по бокам от текста.

Рис 43. Текстура для афиши

3. Добавьте к афише материал и установите его тип как Halo. Настройте размер halo HaloSize на 0.06, и после рендеринга у вас должна получится сетка с белыми точками.

4. Добавьте текстуру, измените ее тип на image. Затем загрузите картинку текстуры и после рендеринга у вас должна получится решетка, с окрашенными в красный цвет точками.

5. Вернитесь к кнопкам материалов и подстройте параметр sizeX где-то на 0.5, потом снова отрендерьте; текст должен теперь быть выровнен по центру афиши.

6. Чтобы убрать белые точки, задайте материалу темно-красный цвет и снова отрендерьте. У вас должны быть теперь только красные точки, но, афиша получилась слишком темная. Чтобы исправить это, войдите в режим редактирования, выделите все вершины и скопируйте их (не сдвигая с места), клавишами SHIFT-D. Затем, в кнопках материала, добавьте яркость опцией Add.

Рис 44. Растровый дисплей

Теперь вы можете анимировать текстуру, так чтобы она двигалась вдоль афиши, используя параметр ofsX на панели Texture в кнопках материала. (Вы могли бы использовать сетку с большим разрешением, но тогда вам необходимо уменьшить размер halo, иначе точки сольются друг с другом... (Рис 44).

Tip Halo и текстуры

По умолчанию, текстуры применяются к объектам по его координатам и отражаются на ореолах (halo), воздействуя на их цвет в целом и на вершину, порождающую ореол.

Для того, чтобы текстура воздействовала на halo, необходимо нажать кнопку HaloTex; после этого текстура спроецируется на каждый ореол (halo). Это очень полезно, когда вы хотите создать реалистичный эффект дождя или что-то подобное.

Блики

Наши глаза начинаю верить в реальность картинки, если на ней отображаются артефакты, котрые порождаются в процессе фотосъёмки. Motion blur (размытость движением), Depth of Field (глубина резкости изображения), и lens flares (блики) это только три примера таких артефактов. Первые два описаны в главе Рендеринг; последний можно создать с помощью специального halo.

Симуляция бликов сообщает зрителю, что изображение создано с помощью камеры и заставляет верить в реальность картинки. Блики в Blender'е создаются из меша, используя кнопку Halo и потом Flare , на панели Shaders. Попробуйте также опции Rings и Lines, но цвета оставьте. Поиграйте с количеством Flares: и опцией Fl.seed: до тех пор, пока не получите что-то приемлемое на вид. Для усиления эффекта, вы можете также поиграть с опцией Boost: (Рис 45). (Эта опция не симулирует физический эффект от линз фотоаппарата; это просто приятно для глаз.)

Рис 45. Настройки бликов

Блики в Blender'е очень хорошо смотрятся в движении и исчезают, когда перекрываются другими объектами. (Рис 46).

Рис 46. Блики

<<< Пред | След >>>
Многократные Материалы | Текстуры


Текстуры

перевод: Sailor

Относится к Blender v2.31

Настройки материалов, которые мы рассматривали до сих пор, производят хорошие, гладкие, однородные объекты. Конечно же такие объекты далеки от реальных из-за своей однородности.

Blender придает разнородность объектам, отражаемостью или силой отблеска и шероховатостью и так далее, с помощью текстуры.

Текстуры с точки зрения материала

В Blender'е, Материалы и Текстуры сформированы из отдельных блоков, в порядке, сохраняющем простоту интерфейса и универсальной интеграцией между блоками Текстур, Ламп и Мира (Окружающей средой).

Взаимосвязь между Материалом и Текстурой, называемая 'маппингом' (отображение, проецирование), является двусторонней. Сначала указывается информация для Текстуры. Потом определяют эффект от Текстуры, на материале. Панель Texture (Текстура), с правой стороны (подобная панель есть и в кнопках освещения и в кнопках Мира (Окружающая среда)), определяет все эти вычисления.

Для неоттекстуренного объекта, панель отображает столбец из восьми пустых текстурных каналов (новые версии Blender'а содержат 10 текстурных каналов!) (Рис 15), выбрав один из каналов и нажав Add New или выбрав существующую текстуру из выпадающего меню справа Рис 16), вы добавите текстуру в канал и панель отобразит еще две вкладки: Map Input и Map To. Кнопки во вкладках организованы в таком порядке, в котором обрабатывается "текстурный конвеер".

Рис 15. Текстурные каналы

Каждый канал имеет своё индивидуальное отображение (проецирование) текстуры. По умолчанию, текстуры применяются одна за другой и потом накладываются. В результате, добавленный второй текстурный канал, может полностью перекрыть первый! Рядом с каждым непустым текстурным каналом, есть кнопочка с "птичкой", которая позволяет вам выбирать и отменять выбор с данного текстурного канала. Убрав выбор ("птичку") с канала, вы просто удаляете его из "конвеера".

Рис 16. Блок выбора текстуры

Текстура имеет своё название, которое вы можете изменить кликнув по текстовой кнопке ТЕ:.

Рис 17. Ввод координат материала

На Рис 17 показана панель Map Input. Каждая текстура имеет 3D-координаты (координаты текстуры) как входные данные. Значения, вводимые для текстуры, как координаты для каждого пиксела визуализируемой картинки, вычисляются согласно этим кнопкам:

  • UV Использует специальный тип маппинга, называемый 'UV' mapping. Это особенно удобно, когда вы используете картинку в качестве текстуры. Об этом речь пойдет в разделе UV-редактор и выбор граней.

  • Object Использует объект, как источник ввода координат; обычно используется объект Empty (пустышка). Имя объекта прописывается в поле справа. Это самый простой способ, если вам надо разместить маленькое изображение как логотип на объекте.

  • Glob Использует глобальную систему 3D-координат Blender'а.

  • Orco Использует локальные, первоначальные координаты объекта.

  • Stick Использует неизменяемые координаты объекта.

  • Win Использует координаты окна рендеринга изображения.

  • Nor В качестве координат используется направление вектора нормалей.

  • Refl В качестве координат используется направление отражения вектора.

Рис 18. Маппинг текстуры

Если текстура это картинка, то она двумерная, а нам нужно отобразить ее в 3D-пространстве. Наиболее простой способ, это использовать UV-маппинг (UV-редактор), но можно также воспользоваться опциями проекций (Рис 18).

Рис 19. Преобразование координат

Координаты X, Y и Z относящиеся к текстуре, можно смешивать и получать специфические эффекты. Кнопки, изображенные на Рис 19, позволяют вам переключать координату X на Y или Z и т. д., или вообще выключить их.

Рис 20. Факторы смещения (Offsets) и масштабирования (Scaling) для координат текстуры

Координаты можно масштабировать и перемещать с помощью цифровых кнопок на (Рис 20).

Рис 21. Обработка вводимых данных для текстуры

Переместитесь на вкладку Map To, Рис 21 на которой находятся настройки для вводимых данных для текстуры. Три кнопки определяют, каким образом будет использована текстура: как Stencil (трафарет) (маска для последующих текстурных каналов); как Negative (негативная текстура) (назначает негативные параметры); или как черно-белая (No RGB) текстура. Три слайдера снизу от этих кнопок, определяют основной цвет текстуры, который может быть переопределен цветовой спецификой самой текстуры. И последний слайдер, определяет текстурный эффект.

Рис 22. Обработка выходных данных текстуры

На Рис 22 показаны кнопки переключения, которые определяют характеристики материала, после применения к нему текстуры. Некоторые из этих кнопок могут иметь три состояния, это означает, что текстура может быть использована как с положительными парамертрами, так и отрицательными. Все эти кнопки являются независимыми.

  • Col (вкл/выкл) Использует цвет текстуры, вместо цвета материала.

  • Nor (выкл/положительно/отрицательно) Использует текстуру, для изменения направления локальных нормалей. Это используется, для эмитации поверхностного бампмаппинга (bump mapping - релефное текстурирование)

  • Csp (вкл/выкл) Использует текстуру, для изменения цвета отражения (отблеска).

  • Cmir (вкл/выкл) Использует текстуру, для изменения цвета зеркальности.

  • Ref, Spec, Hard, Alpha, Emit (выкл/положительно/отрицательно) Использует текстуру, для изменения соответствующих значений материала.

Рис 23. Настройка выходных данных для текстуры

Настройки выходных данных для текстуры (Рис 23), определяют силу эффекта применяемую к текстуре. Как стандартное значение, используется смешивание (Mix), но также доступны сложение (Add), вычитание (Sub) или умножение (Mul). Текстуры имеют три типа выходных данных:

  • RGB-текстуры: возвращают три значения, которые всегда влияют на цвет.

  • Рельефные текстуры: возвращают три значения, которые всегда воздействуют на вектор нормали. Это применимо только к текстурам типа "Stucci" и "Image".

  • Интенсивность текстур: возвращает одно значение. Например, интенсивностью можно управлять параметром "Alpha" или определить интенсивность заданного цвета, используя кнопки маппинга.

Вы можете регулировать степень влияния этих настроек по отдельности, используя соответствующие слайдеры (Рис 23).

Текстуры

После того как текстура была добавлена к материалу, её можно настроить, переключившись к кнопкам управления текстурой (F6) или [image] Рис 24.

Рис 24. Кнопки управления текстурой

Новое, пустое окно с кнопками управления текстурой, представляют две панели: предпросмотр текстуры Preview и панель Texture (Текстура), с двумя вкладками.

На панели Preview, кнопки переключения, определяют принадлежность текстуры, к материалу (Mat), к источникам света (Lamp) или к окружающей среде (World), а кнопка Default Var позволяет вернуть текстуре исходные параметры.

Вкладка Texture дублирует копки текстурных каналов и кнопку меню текстуры. Две колонки с кнопками, позволяют определить тип текстуры (В новой версии тип текстуры выбирается из выпадающего меню). Кнопка (пункт меню) Image позволяет загрузить и использовать картинку как текстуру (первая кнопка (пункт меню) None означает "нет текстуры"). Трейтья кнопка (EnvMap) позволяет использовать особый тип текстуры, для получения карт окружающей среды. Кнопка (пункт меню) (Plugin) позволяет загрузить отдельный модуль - плагин, для создания текстуры. После того как выбран тип текстуры, сразу, справа, появится новая панель с таким же названием, как и тип выбранной текстуры. В этой панели находятся параметры настройки самой текстуры.

Оставшиеся кнопки (пункты меню) определяют процедурные 3D-текстуры. Эти текстуры вычисляются математически, они проще в использовании и дают неплохие результаты. Дадим описание только одной из них, кнопка (пункт меню) Wood (дерево).

Wood это процедурная текстура, это означает что каждая ее 3D-координата может быть задана напрямую цветом или значением. Эти типы текстур, являются 'реальными' 3D-текстурами. Это значит, что они имеют идеальную подгонку по краям, а также создают объем, т.е. представьте себе разрезаный кусок дерева, на торце среза текстура будет правильно отображаться.

Процедурные текстуры не фильтруются и не используют антиалиасинг (сглаживание). Но это не является проблемой: пользователь может легко управлять специальными параметрами, сохраняя необходимое качество.

Процедурная текстура может производить или только цветную текстуру или просто яркую текстуру. Если использовать просто яркую текстуру, то в результате получится черно-белая текстура, которую можно прекрасно усовершенствовать, используя colorband - цветовые каналы. Сolorband это инструмент которым часто пренебрегают. Он находится во вкладке Colors, на панели Texture и позволяет производить глубокие настройки для отображения процедурной текстуры. Вместо простого рендеринга каждой текстуры как линейная прогрессия от 0.0 до 1.0, вы можете создать colorband'ом градиент со множеством разных цветов и, если необходимо, добавить прозрачность (alpha) (Рис 25).

Рис 25. Текстурный Colorband.

Умелое использование colorband, дает возможность создавать по-настоящему классные текстуры облаков и мрамора. Для этого выберите процедурную текстуру типа Wood. Кликните кнопку Colorband.

Colorband в Blender'е это редактор градиентов. Каждую точку (вертикальная полоска) на шкале градиента можно переместить в любое место и назначить любой цвет и прозрачность. Blender интерполирует значения от одной точки к следующей. Для этого, выберите точку (вертикальная полоска), которую вы хотите редактировать, с помощью цифровой кнопки Cur:, затем добавьте или удалите точки кнопками Add или Del соответственно. Значение цвета RGB и прозрачности Alpha для текущей точки отображаются вдоль размещения точки на шкале градиента. Перемещение точек осуществляется с помощью левой кнопки мыши.

Мы можем использовать две текстуры Wood (дерево), чтобы сделать модель колец двух разных масштабов, каждая из которых будет по разному воздействовать на вид текстуры дерева. Текстуры Wood полностью одинаковые, кроме способа которым они накладываются в кнопках материалов и настроек в colorband.

Текстуру Clouds (облака) можно использовать для моделирования шероховатости. Чтобы посмотреть на результат от одной текстуры, отдельно от остальных, вспомните про кнопки с "птичками" на панели Texture, в кнопках материалов.

Рис 26. Копирование и вставка текстур

Tip | Параметры копирования текстуры
 | Добавляя существующую текстуру, вы просто привязываете эту текстуру, но все параметры материала и маппинга остаются теже. Чтобы скопировать все параметры текстуры, включая маппинг, вам необходимо скопировать весь данный текстурный канал и вставить его в другой, с помощю кнопок со стрелками Рис 26.

На Рис 27, Рис 28 и Рис 29 показаны три разные текстуры, с разными настройками и объединенные в один материал. В результате получилась классная текстурв дерева (Рис 30).

Рис 27. Прервая тектура дерева (кольцевая)

Рис 28. Вторая тектура дерева (кольцевая)

Рис 29. Текстура Clouds (облака)

Рис 30. Конечный результат

Картинка как текстура (Image)

Картинка используемая как текстура, это истинная 2D-текстура, её чаще других используют в Blender'е, т.к. у неё большие возможности. Стандартные, встроенные средства бампмаппинга, мипмаппинга, фильтрации и антиалиасинга (сглаживания) гарантируют отличное качество изображения (для этого, в кнопках дисплея, большая кнопка OSA должна быть включена). Так как текстура двумерная, необходимо определить способ, которым 3D-координаты текстуры будут преобразованы в 2D. Это делается кнопками маппинга (Рис 18, раздел Текстуры с точки зрения материала).

Blender предоставляет четыре стандартных типа маппинга (способ проекции текстуры): Flat (плоский), Cube (кубический), Tube (трубообразный) и Sphere (сферический). В зависимости от общей формы объекта, один из этих типов будет более подходящим.

Рис 31. Flat - Плоское проецирование.

Плоское проецирование (Flat) (Рис 31) дает отличные результаты на одиночной, плоской поверхности (грани). Производит интересные результаты на сферическом объекте, но сфера выглядит плоской, по сравнению с методом сферического проецирования. На гранях, находящихся не в плоскости проекции, последний пиксел текстуры повторяется, что производит полосы на кубе и цилиндре.

Рис 32. Cube - Кубическое проецирование.

Кубическое проецирование (Рис 32) часто дает более приемлемые результаты, когда объект имеет не слишком округленную и органическую фому (Обратите внимание на швы у сфере).

Рис 33. Tube - Трубообразное проецирование.

Трубообразное проецирование (Рис 33), накладывает текстуру на объект, как наклейка клеится на бутылку. Поэтому текстура более вытянута на цилиндре. Этот способ проецирования конечно же очень хорош чтобы сделать этикетку на бутылке или расположить этикетки на округленные объекты. Однако, это не цилиндрическое проецирование, так как концы цилиндра неопределены.

Рис 34. Sphere - Сферическое проецирование.

Сферическое проецирование (Рис 34) самый лучший вид маппинга для сферических объектов, и идеально подходит, чтобы сделать планету или что-то подобное. Этот способ часто очень полезен для создания органических объектов, а также производит интересные эффекты на цилиндр.

Tip Перемещение текстуры

Как уже говорилось в разделе выше, вы можете манипулировать текстурой соответствующими кнопками в окне материалов. Есть еще один способ манипулировать текстурой.

Когда вы выберите объект и нажмете кнопку T, вы получите возможность визуально перемещать и масштабировать область с текстурой, но вращать этим способом тектуру нельзя. Вычисление координат маппинга с опцией Object, так или иначе является гораздо более гибким вариантом.

<<< Пред | След >>>
Специальные Материалы | Карты окружающей среды


Карты окружающей среды

Блестящие поверхности, которые генерирует Blender показывают зеркальные участки. Вся ирония этих зеркальных шейдеров, состоит в том, что они чувствительны только к лампам. Точнее, зеркальные поверхности показывают вам яркое пятно как зеркально-подобное отражение лампы.

Этот все имеет смысл за исключением того случая, когда вы поворачиваете камеру непосредственно к лампе, вы не увидите этого эффекта! Камера видит этот свет только тогда, когда он отражается зеркальным шейдером, не напрямую. С другой стороны, объекты, которые кажутся очень яркими в вашей сцене (которые отражают много света на камеру) но не лампы, не будут отображаться в этих зеркальных участках.

Достаточно просто добавить лампу, которая напрямую видна из камеры, разместив несколько объектов в сцене, которая напоминает некоторую соответствующую сортировку лампы, флейма, солнца, и так далее. Однако, нет никакого непосредственного решения проблемы для факта, что окружающие объекты не отобразятся на зеркальных участках.

Словом, у нас нет достаточного отражения. Этот тип проблемы мы будем решать с помощью техники использования карт окружающей среды.

Также, как мы рендерим свет, который достигает плоскости просмотра, используя камеру, чтобы определить точку просмотра, мы можем отрендерить свет, который достигает поверхности объекта (и следовательно, свет, который мог бы в конечном счете быть отражен на камеру).

Карты окружающей среды в Blender'е представляют собой кубическое изображение сцены, отренднренное с шести сторон из любой точки. Когда шесть кусочков изображения наложены на объект, который использует опцию Refl, они создают визуальный эффект, который глаз ожидает видеть от солнечных отражений.

Note

Полезно запомнить, что истинная цель этой методики - правдоподобность, а не точность. Глаз не нуждается в физически точном моделировании перемещения света; требуется только убедить глаз, что сцена является реальной, видя сложность, которую он ожидает...

Первым делом, при создании карт окружающей среды, необходимо определить точку зрения для самой карты. Начнем, добавьте объект Empty (пустышка) в сцену и разместите его зеркально по отношению к камере, где центр - поверхность отражения. (Это возможно, строго говоря, только для плоских поверхностей отражения.)

Для относительно маленьких и сложных объектов, мы можем просто разместить Empty (пустышка) около центра. Мы назовем объект Empty env , для того чтобы мы могли обратиться к нему по имени в параметрах настройки карт окружающей среды.

Мы создадим зеркальную сферу, расположеную над зеркальной плоскостью, установите объекты в сцене так как на Рис 47.

Рис 47. Пример использования карт окружающей среды

Обратите внимание, что ' env ' Empty, помещен точно ниже камеры, на расстоянии от плоскости отражения, в 3 единицы Blender'а , которое является равным высоте камеры над той же самой плоскостью.

Теперь, добавим в сцену несколько ламп, сферу оставим без заданного материала, а плоскость переместим в другой слой. Например, все объекты у нас будут в слое 1, кроме плоскости, которая будет в слое 2.

Дайте плоскости низкие параметры Ref и Spec для материала и добавьте текстуру в канал два с параметрами как на Рис 48.

Рис 48. Отражающий материал для плоскости.

Обратите внимание на Refl и Cmir эффекты. Мы используем канал 2, а не 1, потому что канал 1 нам понадобится позже.

Рис 49. Настройки EnvMap для плоскости.

Теперь определите недавно назначенную текстуру как EnvMap в кнопках текстуры (F6) Рис 49. В панели Envmap, братите внимание на поле Ob: содержащее имя Empty относительно которого мы вычисляем EnvMap. Обратите внимание также на разрешающую способность куба, на котором EnvMap будет вычислен и, наиболее важный параметр - кнопки Don't render layer:.

Поскольку EnvMap просчитывается от места расположения Empty, он должен свободно просматривать сцену. Так как плоскость может полностью закрыть сферу, она должна находится в своем отдельном слое, который не должен рендериться при вычислении EnvMap.

Нажмите F12 для начала процесса. Сначала будут просчитаны шесть кртинок EnvMap, а затем финальная картинка, где сфера отражается на плоскости.

Рис 50. Сфера отражается на плоскости.

Чтобы добавить больше визуальной привлекательности сцене, добавьте большую сферу, которая окутает всю сцену и добавьте к ней текстуру неба, чтобы фальсифицировать реальный, облачный мир. Затем добавьте новый объект Empty в центр сферы, и переместите сферу в слой 3. Затем, дайте сфере параметры EnvMap также как вы делали это для плоскости (но на сей раз слой 3 не должен быть отрендерен!)

Теперь добавьте несколько цилиндров, чтобы сделать окружающую среду более разнообразной, и перед тем как нажать F12, вернитесь к текстуре для плоскости и нажмите кнопку Free Data. Это заставит Blender пересчитать EnvMap заново, с другим окружением.

На этот раз будет просчитано 12 картинок, по 6 для каждой карты EnvMap. Результат на Рис 51. Сфера больше отражает чем плоскость, из-за слегка различных параметров настройки материалов.

Рис 51. Отражающая сфера над отражающей плоскостью.

Но подождите, есть проблема! Сфера отражает плоскость, но плоскость отражает унылую серую сферу! Это потому что EnvMap для плоскости вычислена перед EnvMap для сферы.

Чтобы исправить это найдите цифровую кнопку Depth на панели Envmap, в кнопках текстуры и установите ее значение на 1 для обоих EnvMap текстур сферы и плоскости. Это заставит вычисляться EnvMaps рекурсивно. Каждая карта EnvMap просчитывается, затем пересчитывается заново столько раз, сколько указано в значении 'Depth', один за другим. Вот результа исправления Рис 52.

Рис 52. Отражение сферы на отражающей поверхности с многократными отражениями.

Теперь, если вы все еще задаетесь вопросом, почему первый канал текстуры для лоскости оставался пустым... Добавьте новую текстуру к первому каналу материала для плоскости. Добавьте ей параметр Glob, и Nor с интенсивностью 0.25 (Рис 53).

Рис 53. Дополнительная текстура для BumpMapping (рельефное текстурирование).

Эта новая текстура должна иметь тип Stucci; настройте параметр Noise Size до 0.15 или что-то вроде этого. Если вы снова отрендерите сцену, то увидите, что плоскость напоминает водяную рябь (Рис 54).

Рис 54. Отражение сферы на воде с многократными отражениями.

Вы должны вставлять текстуру BumpMap в канал перед картой EnvMap потому что текстуры накладываются последовательно. Если вы поступите по-другому, то отражение будет искажено волнами.

Вы можете сохранить карту EnvMaps для дальнейшего использования и загружать ее через соответствующую кнопку, в окне кнопок тектуры. Вы таже можете создать свою карту окружающей среды. Обычно это делается расположение 6 картинок на куб, в два ряда по три картинки в каждом, как на Рис 55.

Рис 55. Сохраненная карта EnvMap.

Blender предоставляет три типа карт окружающей среды(EnvMaps), как показано на Рис 49:

  • Static -- Карта рассчитывается только единожды, в течение анимации или после загрузки файла .

  • Anim -- Карта рассчитывается каждый раз, когда производится рендеринг. Это означает, что движущийся объект, будет правильно отражаться на зеркальной поверхности.

  • Load -- После сохранения карты как файл картинки, карта окружающей среды, может быть загружена с диска. Эта опция, предоставляет очень быстрый рендеринг, с картой окружающей среды.

Note

Вы можете анимировать воду из предыдущего примера, устанавливая IPO для параметров ofsX и ofsY размещения текстуры, в кнопках материала. Рендеринг анимации тогда показал бы перемещающейся ряби на поверхности, с отражениями, изменяющимися соответственно!

Note

Карта EnvMap для плоскости должна быть вычислена только один раз, вначале, если ничто другое не перемещается! Следовательно, она должна иметь тип Static. Другое дело, Envmap для сферы, так как она не будет отражать изменения в отражениях на воде, если она не вычислена в каждом кадре анимации. Следовательно она должна иметь тип Anim

Если камера это единственный объект который перемещается, и у вас есть отражающая плоскость, объект Empty должен также перемещаться и вы должны установить тип EnvMaps как Anim. Если объект маленький, и Empty в его центре, то карта EnvMap должна быть Static, даже если сам объект вращается, Empty не двигается. С другой стороны, если объект перемещается, Empty должен следовать за ним и карта EnvMap должна иметь тип Anim.

Другие опции:

  • Filter: - Эта опция управляет резкостью или размытостью отражения.

  • Clipsta, ClipEnd -- Это значение определяет границы промежутка, когда рендерится изображение карты окружающей среды.

Note

Вычисление EnvMap может быть блокирован на глобальном уровне кнопкой EnvMap на панели Render, в кнопках рендеринга .

<<< Пред | След >>>
Текстуры | Карты смещения


Карты смещения

автор: Kenneth Styrberg

Относится к Blender v2.35

Карты смещения (Displacement maps или сокращенно Disp) - это очень мощная техника моделирования, которая использует процедурную или обычную текстуру (картинку), для смещения граней (полигонов) объекта при рендеринге. Смещение осуществляется также как и для карт типа NOR, то есть чем светлее участок текстуры, тем больше смещение. В отличии от карт Normal или Bump, где создается иллюзия выпуклости, этот тип карты дает реальный рельеф. Этот рельеф (или смещение граней) отбрасывает тень, может закрывать собой другие объекты, вообщем, может делать все, что делает реальный объект.

Карта смещения помещается в текстурный канал, также как идругие текстуры (карты), но, для того чтобы получить более гладкий рельеф и выпуклости/впадины на поверхности меша, необходимо чтобы меш имел очень маленькие грани (полигоны), а это, в свою очередь, требует много ресурсов памяти и CPU.

Для удаленных (или не критичных)объектов в сцене, использование карт NOR более предпочтительнее. Карты типа NOR , по сравнению с картами смещения (Disp), забирают на много меньше ресурсов CPU, а также, результат от карты NOR не зависит от количества граней (полигонов).

Здесь вы видите разницу между использованием карты NOR и карты Disp (карта смещения), Рис 30. Объект слева имеет 240 граней, а объект справа 60717 граней!

Рис 30. Разница между картами Nor и Disp.

Note

Используйте карты Disp (карта смещения), тогда, когда вам нужно получить более точную и правдаподобную форму объекта.

Карты смещения на объектах

Здесь представлен список объектов, от лучших к худшим, который показыыват как разные объекты работают с картами Disp.

  • Меши подразделенные алгоритмом Catmull-Clark'а (Catmull-Clark SubSurf) - размер (и количество) граней (полигонов) контролируется с помощью параметра Subdiv для рендеринга. На таких объектах, карта смещения работает отлично!

  • Меши подразделенные обычным способом - размер (и количество) граней (полигонов) контролируется с помощью параметра Subdiv для рендеринга. Карта смещения работает, но могут быть артефакты на острых краях, если текстура не имеет нейтрально-серых тонов.

  • Меши подразделенные ручным способом - количество граней (полигонов) контролируется количеством подразделений. В этом случае замедляется процесс моделирования, так как вы не можете уменьшить на время редактирования количество граней.

  • Метаболы - Грани (полигоны) контролируются с помощью слайдеров Wiresize и Rendersize. Меньшее значение слайдеров, дает большее количество граней (полигонов).

Примененение карт смещения (Disp) для следующего типа объектов возможно, но при рендеринге возможны ошибки нормалей и заметные швы.

Количество граней (полигонов) для этих объектов напрямую зависит от разрешения U/V для поверхности. Чем выше разрешение, тем больше граней.

  • Открытые Nurbs-поверхности

  • Закрытые Nurbs-поверхности

  • Кривые и Текст

Note

Перед использованием карт смещения для кривых и поверхностей, рекомендуется конвертировать их в меш.

Интерфейс

Управление картами смещения, осуществляется с помощью двух кнопок и двух слайдеров, которые расположены на панели Map To, в контексте Materials (F5). Рис 31

Рис 31. Панель Map To.

Интенсивность смещения граней управляется с помощью слайдера Disp, а смещение нормалей управляется слайдером Nor.

Использование карт смещения

Есть два режима работы смещения:

  • Интенсивное смещение, вершины двигаются вдоль их нормалей.

  • Смещение вершин по средством нормалей текстуры, вершины перемещаются на основании данных текстуры NOR.

Возможно комбинированное применение обеих режимов смещения, для этого используйте слайдеры показанные на Рис 31.

Не все текстуры могут работать с обеими типами смещения. Например, текстура Stucci, работает только со смещением на основе нормалей - Nor, а текстура Magic работает только с интенсивным смещением. Текстуры типа Cloud, Wood, Marble и Image (картинка) работают с обеими типами.

Note

На данный момент, OSA (сглаживание, антиалиасинг) работает не корректно, если используется картинка (Image) как текстура для смещения.

Интенсивное смещение дает более гладкую и равномерную поверхность, так как вершины смещаются только наружу. Смещение на основе нормалей, дает более сложную поверхность, так как вершины смещаются в разные направления.

Вот тот же пример, что и на Рис 30, (правый объект), но со слайдером Nor установленным приблизительно на 2.0. Обратите внимание, что кнопка Nor еще не нажата! Вы получите еще более сложное смещение, если задействуете сразу обе опции Nor и Disp.

Рис 32. Настройки Disp и Nor.

Глубина смещения, масштабируется также как и сам объект. Это означает, что если вы увеличите или уменьшите объект в объектном режиме в два раза, то глубина смещения изменится также в два раза, а относительная глубина смещения будет такой же.

Если масштабиовать объект в режиме редактирования, то глубина смещения не изменится, таким образом, относительная глубина будет больше или меньше.

Смещение определяет интенсивность (яркость) текстуры. Нейтральный серый, RGB = 128,128,128, не дает смещения вообще. Для позитивного смещения, Рис 33, белый цвет это возвышения, а черный впадины.

Рис 33. Позитивное смещение.

Для негативного смещения, Рис 34, все наоборот.

Рис 34. Негативное смещение.

Пример

Здесь пример показывает как различный уровень подразделение меша влияет на конечный результат. Это подразделение алгоритмом Catmull-Clark'а и текстура Cloud, добавленная к Ico Sphere. Смотрите Подразделение поверхностей алгоритмом Catmull-Clark'а , чтобы больше узнать об этом типе подразделения поверхности.

Диапазон уровня подразделения от 0 - (отсутствует) до 6 - (максимум).

Рис 35. Пример.

<<< Пред | След >>>
Карты окружающей среды | Цельное и полое стекло


Цельное и полое стекло

Стекло и прозрачные материалы вообще сложные для рендеринга, потому что они показывают преломление; то есть, изгиб световых лучей из-за различной оптической плотности, или показателя преломления различных материалов. К сожалению, чтобы полностью просчитать преломление необходим рэйтрассер (ray tracer - трассировщик лучей). Однако, мы можем добиваться убедительных результатов в Blender'е используя карты EnvMaps и продвинутые методы текстурирования.

Рассмотрим сцену с несколькими основными фигурами, включая куб, конус, сферу, и тор (Donut - бублик :о)). В первом примере мы заставим сферу напоминать твердый шар стекла , а во втором примере, та же самая сфера станет стеклянным пузырьком .

Чтобы создать этот эффект, мы должны заставить свет изгибаться, так как он проходит через сферу и объекты позади твердой стеклянной сферы казались бы сильно исковерканными, как будто мы смотрим через очень толстую линзу. С другой стороны, центр полой стеклянной сферы должен быть почти прозрачен, в то время как стороны должны преломлять свет.

Цельное стекло

1. Для начала, мы установим карту окружающей среды для материала сферы также, как мы это делали для шара в предыдущем разделе, с объектом Еmpty который расположен в перспективе EnvMap по центру сферы.

2. Чтобы симулировать преломление, мы подстроим параметры проекции слайдерами ofsZ, sizeX, sizeY, sizeZ и Col деформируя изображение карты так, чтобы создать эффект преломления. Чтобы это сделать, используйте параметры настройки на Рис 56.

Рис 56. Настройки Envmap для симуляции преломления.

3. Выберите слайдеры материала RGB для Mir и понизьте немного значение R и G чтобы дать текстуре синий оттенок.

4. Опустите значение слайдера Ref до минимума (0.00). (Рис 57). Теперь у вас получилось преломление окружающей среды с синеватым оттенком.

Рис 57. Настройки материала

5. Блестящему стеклу необходима также карта отражения, поэтому мы расположим ту же самую текстуру в другой канал. Нажмите кнопки Add, Col, и Emit , а для координат используйте кнопку Refl. Дайте материалу черный цвет и поднимите значение Emit на максимум. (Рис 58).

Рис 58. Карта отражения

6. Это значительно изменит нашу первую текстуру. Чтобы вернуть нашей текстуре преломления синий оттенок, нам необходимо добавить новую текстуру, оставив ее тип как None. Выберите кнопки Mix и Cmir , а слайдер Col установите по центру. Нажмите кнопку Neg и установите слайдерами RGB для входной текстуры темно-синий цвет (панель Map To)(Рис 59).

Рис 59. Последние штрихи

Результат должен быть как на Рис 60. Эффект преломления будет более заметным, если сцену анимировать.

Рис 60. Рендеринг

Полое стекло

Процедура которую мы описали выше, прекрасно работает для цельной глыбы стекла, но как нам сделать полое стекло, например вазу?

Тонкое стекло имеет сильное преломление только там, где оно имеет наклон далеко от глаза, под крутым углом. Мы можем легко имитировать этот эффект, используя текстуру Blender'а Blend для того, чтобы управлять прозрачностью объекта, также хорошо как и другой текстурой прозрачности, сохраняя яркие участки видимыми.

1. Добавьте кматериалу новую текстуру. Тип текстуры выберите Blend с опцией Sphere.

2. Вернитесь к кнопкам материала. Выберите тип проекции Nor и отключите оси координат X и Y.

3. Включите Mix и Alpha, затем передвиньте слайдер Alpha для материала на 0.0 и включите кнопку ZTransp (Рис 61).

Рис 61. Настройка прозрачности.

Это производит эффект хорошей прозрачности, но мы хотим, чтобы отражения окружающей среды, были на противоположных оражающих участках. Например, если вы посмотрите на стеклянные окна, вы увидите яркое отражение света от поверхности, которое не дает вам смотреть сквозь окно, которое на самом деле прозрачное. Мы можем легко сделать этот эффект, выбрав EnvMap текстуру отражения в окне материалов и включив опцию Alpha (Рис 62).

Рис 62. Настройка отражения

Это всё. Результат должен быть похож как на Рис 63.

Рис 63. Полое стекло

<<< Пред | След >>>
Карты смещения | UV-редактор и выбор граней


UV-редактор и выбор граней

Введение

UV-редактор позволяет вам проецировать текстуру прямо на грани меш-объекта. Каждая грань, может иметь индивидуальные координаты и изображение текстуры. Вы также можете совмещать текстуру с окраской вершин, тем самым осветлять/затемнять текстуру или придавать ей другой цвет.

Для каждой грани, есть две дополнителньные особенности:

  • UV-координаты - Они определяют способ, которым изображение или текстура проецируется на грани. Это 2-мерные координаты, и поэтому они называется UV и отличаются от координат XYZ. Эти координаты могут использоваться для рендеринга или для отображения через OpenGL, в реальном времени.

  • связь с изображением - Каждая грань, в Blender'е, может иметь связь с разным изображением. Координаты UV определяют, как это изображение проецируется на грани. Затем, это изображение может быть отрендерено или отображено в реальном времени.

3D-окно должно быть в режиме "Face Select"(выбор граней), чтобы можно было назначать изображение или изменять UV-координаты выбранного меш-объекта.

Назначение изображения к граням

Сначала добавьте Меш-объект в вашу сцену, затем войдите в режим FaceSelect (выбор граней) клавишей F или нажмите прямоугольную кнопку со стрелками, в заголовке 3D-окна и измените Object Mode на UV Face Select .

Рис 7. Режим FaceSelect (выбор граней)

Ваш меш-объект теперь отображается через Z-буфер, переключитесь в текстурный режим отображения (ALT-Z, также называемый "potato mode"). Теперь нажмите клавишу A и все грани меш-объекта будут будут выделены и отобразятся точечными линиями.

Затем, измените одно из окон в окно Image Window (окно Изображений) SHIFT-F10. В этом окне, вы можете выбирать и загружать картинки при помощи меню Image>Open (или заменять Image>Replace). Картинки должны быть кратны 64 пикселам (64x64, 128x64 и т.д.) для того, чтобы правильно отображаться в реальном времени (заметьте, что большинство старых 3D-видеокарт не поддерживают текстуры размером более чем 256x256 пикселов). Однако, Blender в состоянии отрендерить любые картинки, не зависимо от размера.

Рис 8. 3D-окно и ImageWindow(окно Изображений)

Выбранное и загруженное изображение, в режиме FaceSelect, автоматически назначается выбранным граням. Вы можете немедленно видеть результат в 3D-окне (в текстурном режиме отображения).

Выбор граней

Вы можете выбирать грани в 3D-окне, при помощи правой кнопки мыши или клавишей B + мышь. Если у вас возникают трудности с выбором необходимых граней, вы можете переключится в режим редактирования и выбрать нужные вершины. После выхода из режима редактирования, грани, которые соответствуют выбранным вершинам, будут также выбраны.

Только одна грань может быть активна. Или другими словами: Image Window отображает изображение(текстуру) только активной грани. Как обычно в Blender'е, только последняя выбранная грань является активной и это можно сделать только правой кнопкой мыши.

Не забудьте выйти из режима FaceSelect (F), когда захотите выбрать другие объекты.

Редактирование UV-координат

В ImageWindow, выбранные грани выглядят как желтые или фиолетовые вершины, соединенные точечными линиями . Вы можете использовать такую же технику редактирования как и в обычном режиме редактирования: выбирать, перемещать, вращать, масштабировать и т.д. С нажатой кнопкой "Lock" (иконка в виде замочка) вы увидите результат 3D, в реальном времени.

В режиме FaceSelect, в 3D-окне, нажмите клавишу U, появится меню для вычисления UV-координат, для выбранных граней.

Рис 9. Опции для UV-координат

  • Cube - Кубическое проецирование, в появившемся меню задаются свойства масштабирования.

  • Cylinder, Sphere - Цилиндрическое/сферическое проецирование, вычисляет от центра выбранных граней

  • Bounds to 1/1-1/8 - UV-координаты просчитываются используя проекцию как в 3D-окне. Затем масштабируется с ограничением в 1/2, 1/4 или 1/8 от основного размера текстуры.

  • Standard 1/1-1/8 - Каждая грань, имеет вид квадрата по умолчанию.

  • From Window - UV-координаты просчитываются используя проекцию как в 3D-окне.

Рис 10. Инструменты UV-редактора

Для удобства редактирования UV-полигонов, в ImageWindow, есть такие опции: Если из меню UVs выбрать первый (снизу) пункт Quads Constrained Rectangular то, форма для UV-полигонов,во время их редактирования, будет всегда в виде квадрата. Вторая - Layout Clipped to Image Size, подгоняет ваши UV-полигоны под размер картинки. Все это доступно также в заголовке ImageWindow, на панели инструментов Рис 10.

Немного советов:

  • Blender использует два метода проекции текстуры в реальном времени. Первый (используется по умолчанию) это с использованием UV-координат. Второй, это отображение текстуры как отражение. Метод проекции можно переключать в ImageWindow, через меню Image>Real Time Texture Mapping>UV Co-ordinates (с использованием UV-координат) или Image>Real Time Texture Mapping>Reflection (отображение текстуры как отражение). Все это доступно также в заголовке ImageWindow, на панели инструментов Рис 10.

  • Нажмите клавишу R в 3D-окне, появится меню, которое позволит вращать UV-координаты.

  • Иногда, может понадобиться переместить файл картинки в другое место на жестком диске. Нажмите клавишу N в ImageWindow и вы получите меню "Replace Image name". Вы можете ввести имя старой директории или новой. Нажмите "OK" и пути к картинкам, используемые Blender'ом, будут изменены. (Заметка: Используйте символ "//" как новый каталог, чтобы указать каталог, где находится файл Blender"а).

  • Вы также можете использовать одновременно FaceSelect (выбор граней) и VertexPaint (окраска вершин) (клавиша V). Окраска вершин, в этом случае, работает только с выбранными гранями. Эта особенность полезна тогда, когда при окраске граней, вершины не доступны. Обратите внимание, что цвета вершин влияют на яркость или цвет примененной текстуры изображения Рис 12

Рис 12. Влияние цвета вершин на текстуру

Рендеринг и UV-координаты

Вы можете отрендерить текстуры, использующие UV-координаты. Для этого, в окне кнопок материалов (F5) в панели Map Input, нажмите кнопку "UV", а в панели Material нажмите "TexFace". Кнопка "VertexCol" позволяет отрендерить цвет вешин.

<<< Пред | След >>>
Цельное и полое стекло | "Разворачивание" Сюзанны


"Развёртывание" Сюзанны

Относится к Blender 2.34

автор Claudio 'Malefico' Andaur

Когда имеешь дело со сложными моделями, например персонаж человека, животного, потребность в более мощных инструментах становится очевидной. В Blender версии 2.34, были добавлены несколько инструментов, такие как Seams (Швы) и развертывание меша методом LSCM (Least Squares Conformal Map, конформный маппинг методом наименьших квадратов).

В этом учебнике, я полностью разверну меш Сюзанны, чтобы показать вам как пользоваться этими новыми инструментами.

"Швы"

Меш можно организовать используя швы, которые дают отличную возможность создать "Группы граней", перед тем как развернуть меш. Эти "группы", просто название выбраных граней, а не разделение их, как например в Группе вершин (скелетная анимация). Для создания шва, необходимо переключится в режим редактирования, выбрать вершины по контуру граней и затем нажать CTRL-E или через меню Edge Menu->Mark Seam. После чего, на меше появится замкнутая (по умолчанию оранжевая) линия , которая и является швом. Для того, чтобы шов был виден не только в режиме редактирования, но и в режиме выбора граней (Face Select), включите кнопку Draw Seams, в окне кнопок редактирования.

После того как шов отмечен, в режиме выбора граней, можно выбирать каждую половинку модели по отдельности. Для этого в режиме выбора граней, выберите одну из граней и нажмите L, и все связанные с ней грани меша, в пределах шва, будут выбраны. Создавая швы для нашей модели, мы делим её на группы граней, с которыми мы и будем работать в дальнейшем.

В идеале, нам необходимо создать швы в тех местах, где нам нужно "разрезать" UV-карту. Например, для персонажа, необходимо отделить от его туловища руки и ноги.

Давайте реально что-то сделаем. Добавьте в сцену Suzanne (Сюзанна), и выберите центральный вертикальный контур вершин (убедитесь что выбрана вся цепочка вершин и нет пропущенных). Нажмите CTRL-E чтобы пометить этот контур как шов. Теперь давайте его испытаем. Войдите в режим выбора граней (Face Select), вы должны видеть шов. Выберите грань и нажмите L, все грани половинки меша, с этой стороны шва, должны быть выбраны. Если выбраны грани всего меша, значит присоздании шва, вы пропустили некоторые вершины в центральном контуре. Если это произошло, тогда вернитесь в режим редактирования и выберите недостающие вершины. Легко? В этом вся идея.

Рис 44. Сюзанна с помеченным швом.

Создайте еще несколько швов, отделите друг от друга сложные участки, например, уши от головы. Когда мы всё это развернём, эти швы будут как разрезы на поверхности меша и UV-карте.

Добавьте шов, который отделит лицо Сюзанны от остальной части головы.

Развёртывание меша

Откройте UV-редактор в ругом окне, рядом с 3D-окном. Теперь выберите модель и включите режим выбора граней.

Выберите грани с левой и правой стороны Сюзанныного черепа, исключая уши. Мы развернем эти группы, используя опцию Sphere, которая даст хорошее начало для дальнейшего разворачивания методом LSCM. Вероятно, вы получите что-то "почти" идеальное. Однако, я всегда получаю пару граней на неправильной стороне карты. Это можно легко исправить вручную, но я настолько ленивый, что ничего не буду делать. Нажмите C в UV-редакторе, чтобы войти в режим выбора граней (это самое интересное). Выберите несколько граней вокруг ушей, только те, которые выглядят радиально развернутыми. Выйдите из режима выбора граней (в UV-редакторе разумеется), и выберите вершины в верхней центральной зоне. Те что ниже выбрать немного тяжелее. Мы скоро ими займемся. Теперь, когда вершины выбраны, нажмите P. Это комманда Pin, (т.е. зафиксировать, "приколоть"). Это зафиксирует расположение выбранных вершин и ничто не повлияет на нашу форму. Более подробно об этом немного позже.

Рис 45. Зафиксированные UV-вершины.

Теперь, когда мы зафиксировали и хорошо развернули вершины, снимите выбор со всех граней в 3D-окне, кроме двух граней на подбородке. В UV-редакторе, зафиксируйте центральные две вершины этих граней, которые были ранее плохо доступны. Почти готово.

Рис 46. Доступ к закрытым UV.

Теперь настало время для волшебства LSCM. В 3D-окне выберите все грани связанные с гранями на подбородке, (используйте L, помните как?). Выбранные грани должны отобразится в UV-редакторе, как карта. Затем выберите все вершины в UV-редакторе и нажмите E. Blender выдаст запрос на LSCM. Подтвердите. И произойдет чудо. Внезапно, все "незафиксированные" грани переместятся в удобные места, а налегание граней друг на друга таинственно исчезнет. Cameron Diaz на телефоне...

Если вы выберите грани ушей, в 3D-окне, вы увидите что они по-прежнему на свом месте, сейчас можете о них не беспокоится.

Теперь нам нужно на карте сделать пространство для передней части лица. Это можно сделать с помощью выделения крайних вершин и масштабирования их, с включенным инструментом пропорционального редактирования. UV-редактор также может работать с инструментом пропорционального редактирования (клавиша O).

Рис 47. LSCM в действии.

После того как необходимое пространство сделано, включите вид спереди и спроецируйте грани лица, используя опцию "From Window". Измените размер UV-граней по Y и X , так чтобы они поместились в пространстве которое мы сделали. Просто нажмите S, потом выберите клавишу Y или X изменяя ось масштабирования, все точно также как и при работе с мешем.

Теперь у нас есть хорошо развернутая, в UV-редакторе, передняя часть лица.

Рис 48. Предняя часть лица.

Рис 49. Два отдельных участка на карте.

Если сейчас в 3D-окне, снять выбор со всех выбраных граней, то они не будут отображаться в UV-редакторе, но, вы можете включить опцию Draw Shadow Mesh в UV-редакторе (через меню View), чтобы увидеть не выбранные грани меша.

"Сшивание Карты"

Теперь нам нужно объеденить эти два "островка". Если, выбирая вешины, вы будете удерживать CTRL то все совпадающие (парные) вершины буду тоже выбираться. Можно включить опцию Stick UVs to Mesh Vertex (через меню Select, в UV-редакторе), тогда удерживать CTRL не нужно. Выберите вершину скраю и вы увидите, что совпадающая (по мешу) вершина, на другом участке карты, будет также выбрана. "Сшейте" их вместе, нажатием V. Вершины объединятся в одну, в средней точке, относительно их оригинального расположения.

Рис 50. Сшивание.

Это может показаться нудным, сшивать вершины одну за одной (попробуйте удерживать SHIFT). Выберите все вершины по краю лица Сюзанны."Сшейте" их. Зафиксируйте выбранные вершины. Помните, что фиксировать их нужно, если они не перекрывают друг друга. Если после сшивания, у вас будут перекрывающие друг друга грани, то продолжайте сшивать вершины и не фиксируйте сшитые.

Рис 51. Сшивание.

Теперь у нас оба участка сшиты. Однако, есть зоны, где грани перекрываются (налегают друг на друга). Убедитесь, что зафиксированы только неперекрывающиеся вершины и примените несколько раз метод LSCM. Выберите все вершины и нажмите E. Если все хорошо, то с каждым разом, после применения LSCM, налегание граней будет исчезать. Сразу фиксируйте вершины, чтобы сохранить их расположеие.

Не стесняйтесь перед вычислением LSCM. двигать и масштабировать вершины, только обязательно, для сохранения симметрии, выбирайте парные вершины.

"Разбираемся с ушами"

Сейчас мы используем тот же метод, описанный выше, чтобы убрать налегание граней для ушей Сюзанны. Будет лучше, если вы будете работать с каждой стороной отдельно.

Сначала, выберите вершины по краю, где ухо соединяется с головой. Как и в прошляй раз, выберите парные вершины и "сшейте" их. Каждый раз после шивания фиксируйте вершины. Теперь, зафиксируйте те вершины, которые являются ближайшими к сшитым и неперекрываются. Выберите ТОЛЬКО вершины уха, с которым мы работаем и примените LSCM.

Теперь, снова сшейте вершины по краю новосозданного участка. И опять, зафиксируйте их после сшивания. Зафиксируйте также следуюшие за ними, непрекрывающиеся вершины. Примение еще несколько раз LSCM. Таким образом, у нас получится ухо со всеми зафиксированными вершинами и без налегания граней.

Рис 52. "Разворачиваем" уши с помощью LSCM.

Это можно сделать и вручную, выбирая вершины с нажатой CTRL, и затем перемещать их. Но это слишком долго и хлопотно. Тем более, что метод LSCM дает оптимальный вид карты, без растяжения текстуры.

Осталось еще совсем не много. Выберем группу граней, относящуюся к глазам Сюзанны и "развернём" их опцией "From Window" или LSCM. Так как меш глаз не связан с остальным мешем, то команда "Сшить" (Stitch) не сработает. Если вам нужно соеденить UV-карту глаз с остальной, то воспользуйтесь коммандой "Weld" (W), вместо "Stitch" (V). Однако, я предпочитаю оставить UV-карту глаз отдельно, так удобнее их раскрашивать.

Рис 53. Сшивание.

Если у вашего персонажа есть веки, то лучше их развернуть в закрытом состоянии, чтобы потом было удобно их раскрасить.

И что теперь?

После того как меш развернут полностью, мы можем экспортировать UV-грани в обычную картинку. Для этого, через меню UVs, выберите опцию Save UV Layout. После чего, в одном из окон, будет запущен скрипт (Python), который включен в Официальный Релиз Blender'а. Здесь вам нужно настроить размер картинки (помните, что UV-карта это квадратная картинка) и дать название. Затем скрипт сохранит карту как TGA картинку, которую вы потом сможете загрузить в Gimp, Photoshop или другую программу, как шаблон для создания текстуры.

Рис 54. Готовая UV-карта.

Чтобы использовать эту UV-карту как шаблон, ваша 2D-программа, должна поддерживать прозрачность слоёв. Я выбрал Gimp (www.gimp.org; www.gimp.ru), так как я работаю в Linux'е, но вы можете выбрать что-то более вам подходящее.

Создайте новую картинку, с таким же размером как и UV-карта, и загрузите карту в слой. Добавьте еще несколько слоев, поверх UV-карты. Я создал три слоя, и назвал их COLOR, BUMP и SPEC-REF. Это сгенерирует три разные картинки, которые я буду использовать как разные текстуры (карты) для каналов Col, Nor и Ref/Spec в материале. Однако, вы можете использовать и одну карту для всего. Выгода от использования отдельных карт, в том, что вы можете настраивать рельефность материала, без затрагивания цветов.

Рис 55. Gimp это 2D-программа, которая поддерживает прозрачные слои.

Я выключил все слои, кроме, слоя с UV-картой (шаблон) и слоя с текстурой над которой я работаю. Вам нужно сделать чуть прозрачным рабочий слой, чтобы было видно UV-карту.

Рис 56. Использование UV-карты как шаблон, для создания текстур(ы).

Цветная текстура ничего особенного не представляет. Используемые цвета, будут в точности отображены на модели. Текстуры SPEC-REF и BUMP немного замысловатые. Все белые места дадут "больше отражения", в первом случае(SPEC-REF), или "больше выпуклости" во втором случае (BUMP). Черные места, наоборот, будут смотретися темнее и не будут отражать.

Рис 57. Три текстуры.

Вы можете создать столько текстур, сколько в Blender'е текстурных каналов, учитывая Raytraced Mirroring (отражение трассировкой луча), Translucency (полупрозрачность), Emit (излучаемость), Specularity (отблеск), и т. д. Все эти текстуры будут использовать UV-проекцию, поэтому вам необходимо использовать опцию UV, на панели Map Input (кнопки материалов).

Для того чтобы использовать созданную нами текстуру(ы), нужно сначала создать материал и загрузить изображение текстуры. Позаботьтесь чтобы для каждой текстуры была включена опция UV, в каждом текстурном канале. Если для рельефности использовать цветную текстуру, то это будет смотрется немного странно. Если нужно, вы можете смешать цвет материала с цветом текстуры. Для этого, просто уменьшите слайдером значение Col, для этой текстуры.

Загружать текстуру в UV-редактор, нужно лишь в том случае, если вы хотите ее подстроить или подрисовать, с помощю соответствующего инструмента (texture painting tools). Так или иначе это не обязательно для рендеринга.

Рис 58. Настройка цветной текстурной карты.

Итак, это все что касается UV-текстурирования. В данном примере я использовал два материала с одинаковыми настройками, для головы и для глаз. В материале для глаз, опцию Emit, я сделал чуть больше нуля, а в остальном параметры такие же ка и для головы.

Еще увидемся и продолжайте блендерить!

Рис 59. Заключительный рендеринг. Немного уродливые текстуры... Прийдется рисовать заново...

<<< Пред | След >>>
UV-редактор и выбор граней | Текстурные плагины


Текстурные плагины

Относится к Blender v2.31

В заключительной части о текстурах, давайте обратим внимание на кнопку (пункт меню) Plugin (Плагин (Plug-in) - это дополнение к программе, в виде отдельно подключаемого модуля).

Blender позволяет создавать динамическую связь, во время выполнения, отдельных объектов, для текстурных плагинов и плагинов последовательности. В обейх случаях эти объекты являются кусочком кода на языке C, написанном в соответствии с данным стандартом (глава Система плагинов Blender'а). В случае с текстурными плагинами, эти кусочки кода определяют функции, принимающие координаты как ввод и предоставляют на выходе данные о цвете, нормалях и интенсивности, точно также, как и процедурные текстуры.

Для использования текстурного плагина, выберите этот тип текстуры (Plugin), и затем кликните по кнопке Load Plugin, которая появися в соседней панели. Ближайшее окно преобразуется в файловое окно, в котором вы можете выбрать и загрузить плагин. Эти плагины являются обычными .dll-файлами в Windows и .so-файлами в Unix-системах.

После того как плагин загружен, в окне с кнопками текстуры появятся кнопки для его настройки. Параметры настройки плагина описаны в индивидуальном справочнике для конкретного плагина.

<<< Пред | След >>>
"Разворачивание" Сюзанны | Освещение


Освещение

перевод: Sailor

Введение

Освещение - очень важная тема в рендеринге, также как и моделирование, материалы и текстуры.

Наиболее точно смоделированная и оттекстурированная сцена, выдаст бедные результаты без хорошей схемы освещения, в то время как простая модель может стать очень реалистичной, если умело применить освещение.

Освещение, как ни печально, часто игнорируется неопытным художником, который обычно думает, что раз реальные мировые сцены часто освещаются единственным источником света (лампа, солнце, и т.д.), то значит и в компьютерной графике тоже можно использовать один источник.

Это неправда, потому что в реальном мире, даже если присутствует единственный источник освещения, свет проходит от объекта к объекту отражаясь и снова освещая, на всем протяжении сцены, создавая мягкие тени и затененные области, не черные как смоль, но частично освещенные.

Физика отражения, света моделируется рендером трассировкой лучей и может моделироваться в Blender'е при помощи движка Radiosity (Метод Излучения), встроенным собственным рэйтрассером или же внешним рендером YafRay.

Метод Излучения и Трассировка лучей процесс медленный. Blender способен выполнять более быстрый рендеринг(визуализацию) с помощью своего собственного рендера. Это действительно очень хороший рендер. Этот движок визуализации - намного быстрее, так как он не пытается моделировать реальное поведение света, применяя много гипотез упрощения.

В этой главе мы проанализируем различные типы ламп в Blender'е и их поведение, мы рассмотрим их сильные и слабые стороны, и закончим описанием основной 'реалистичной' схемой освещения, известную как метод трёх точек, также более продвинутую, реалистичную но, также, требовательную к и CPU.

<<< Пред | След >>>
Текстурные плагины | Типы Ламп


Типы источников света

В Blender'е имеются следующие типы Ламп:

  • Sun (солнечный свет)

  • Hemi (распределенный свет)

  • Lamp (обычная лампа)

  • Spot (направленный, точечный свет или прожектор)

  • Area (направленный, пространственный свет. Добавлен в версии 2.32)

Любой из этих источников света, можно добавить нажав ПРОБЕЛ и выбрав из меню Lamp. Это добавит в сцену источник света типа Lamp. Чтобы изменить тип Лампы или настроить ее параметры, необходимо переключится на окно настройки освещения. Рис 1 (F4 или нажмите соответствующую кнопку )

Колонка кнопок, на панели Preview, позволяет вам переключатся между типами Ламп. Вид некоторых панелей, в окне настройки освещения, зависит от выбранного типа Лампы

Рис1. Окно с кнопками настройки освещения.

Кнопки настройки освещения можно разделить на две категории: Те, которые непосредственно влияют на освещение, сгруппированы слева, в панелях Lamp и Shadow and Spot и те которые задают текстуру для света, расположены справа, в панелях/вкладках Texture and Input и Map To. Последние очень похожи на те кнопки, что в окне материалов. В следующих подразделах, мы сосредоточимся на первой категории (Рис 2), оставляя разговор о текстуре для раздела Параметры настройки освещения.

Рис 2. Основные кнопки настройки освещения.

Dist: - это задает, показательно, расстояние, на котором интенсивность освещения является половиной Energy. Когда объект ближе чем этот параметр, он получит больше света, когда дальше - получит меньшее количество света.

Layer - заставляет Лампу воздействовать только на объекты, которые находятся в том же слое что и сама Лампа.

Negative - делает пятно света 'негативным' светом, то есть, свет исходящий от Лампы как бы вычитается, нежели добавляется, к другому освещению находящемуся в сцене.

No Diffuse - заставляет свет, не затрагивать свойство материала "Diffuse"(рассеивание), следовательно давая только "Specular" (зеркальность) подсветки.

No Specular - заставляет свет, не затрагивать свойство материала "Specular" (зеркальность), следовательно давая только "Diffuse" - рассеивание света.

Energy - значение энергии издаваемой Лампой.

R, G, B (слайдеры) - красный, зеленый и синий компоненты цвета, испускаемого Лампой.

Ray Shadow - расположена на панели Shadow and Spot. Эта опция появилась в Blender'е (V 2.32) со встроенным рэйтрассером. Включение этой кнопки, генерирут тени от любой лампы, при помощи трассировки лучей. Но для этого, в окне кнопок рендеринга (F10), на пенели Render, кнопка Ray должна быть также включена.

Свет типа Sun (солнечный свет)

Самый простой тип Лампы, это Sun (Рис 3). Освещение Лампой Sun - это свет постоянной интенсивности, прибывающей из заданного направления. В 3D-виде Лампа типа Sun, выглядит как желтая точка окруженная кольцом, которая естественно, при выборе становится фиолетовой, плюс пунктирная линия.

Эта линия указывает направление солнечных лучей. Она по умолчанию перпендикулярна к виду, в котором Лампа Sun была добавлена в сцену, ее можно вращать, выбирая Лампу и, нажимая клавишу R.

Рис 3. Лампа типа Sun.

Кнопки управления, которые влияют на источник света типа Sun это те, которые описаны в 'общем' разделе. Пример освещения сцены Лампой типа Sun, представлен на Рис 4. Как видите, свет прибывает из заданного направления, имеет постоянную интенсивность и не отбрасывает тени, если при рендеринге, не использован встроенный рэйтрассер (кнопка Ray Shadow)

Эти последние строки, очень важны для понимания того, что в Blender'е, никакие Лампы, кроме типа 'Spot', не отбрасывают тени, если при рендеринге не использован встроенный рэйтрассер (кнопка Ray Shadow в панели Shadow and Spot Рис 13 и кнопка Ray в окне кнопок рендеринга (F10), паенель Render). Причина этому - это реализация освещения в рендере , которая будет описана в подразделах 'Spot' и 'Shadows'.

И наконец, важно обратить внимание на то что, как только свет Sun определен его энергией, цвет и направление, фактическое расположение самой Лампы Sun - не важно.

Рис 4. Пример освещения Лампой типа Sun.

Рис 5 показывает вторую сцену, сделанную серией плоскостей, расположенных друг от друга на расстоянии в одну blender-еденицу, и освещенную Лампой Sun. Однородность освещения даже более чем очевидна. Эта картинка будет использоваться как ссылка, для сравнения освещения другими типами Ламп.

Рис 5. Пример освещения Лампой Sun.

Tip | Совет при использовании лампы типа Sun
 | Лампа Sun, очень удобна при освещении дневным светом открытых пространств. Но этот тип света не отбрасывает тень, и чтобы обойти это ограничение можно добавить Лампу типа Spot, с включенной опцией 'shadow only', или же использовать опцию Ray Shadow. Смотрите раздел Параметры настройки Освещения!

Свет типа Hemi (распределенный полу-свет)

Лампа Hemi очень специфический вид Лампы, предназначенный чтобы моделировать свет, идущий от плотно покрытого облаками или наоборот, однородного неба. Другими словами, это свет, который исходит сплошным, светящимся полушарием, окружающим сцену (Рис 6).

Это вероятно, наименее используемый свет в Blender'е, но из-за своей простоты, он заслуживает внимания для рассмотрения, перед двумя основными типами Ламп Blender'а.

Структура этого типа Лампы, в основном, напоминает свет от Лампы Sun. Ее расположение не важно, но важна ориентация. Пунктирная линия указывает направление, в котором излучается максимальная энергия, и является нормалью к плоскости, определяющей срез полушария, указывающего в темную сторону.

Рис 6. Концептуальная схема Лампы типа Hemi.

Результат освещения Лампой Hemi для набора из 9 сфер, показан на Рис 7, сверх-мягкость света Hemi, по сравнению со светом Sun очевидна.

Рис 7. Пример освещения Лампой Hemi.

Tip Совет при использовании лампы Hemi

Для достижения реализма, где не требуются тени, для наружного освещения , вы можете использовать два типа ламп, одна Sun, с параметром Energy 1.0 и с желто-оранжевым оттенком, а другую более слабую, синеватого оттенка Лампу Hemi, чтобы имитировать излучение света идущего с каждой точки чистого синего неба. На Рис 8 показан пример с относительными параметрами. Изображение использует также World (Мир). Смотрите соответствующую главу.

Рис 8. Пример наружного освещения. Лампа Sun: Energy=1 RGB=(1.,0.95,0.8) Направление света Sun по отношению к полярной точке на (135°,135°). Лампа Hemi: Energy=0.5 RGB=(0.64,0.78,1.) направлена вниз.

Свет обычной Лампы

Свет от Lamp это всенаправленный точечный свет, который является безразмерной точкой, излучающей одно и то же количество света во всех направлениях. В Blender'е, Lamp выглядит в виде желтой точки, обведенной кольцом.

Будучи точечным источником света, направление лучей света на поверхности объекта, дается линией, соединяющей точечный источник света и точку на поверхности объекта непосредственно. Кроме того, интенсивность освещения распадается, в зависимости от расстояния от лампы.

Помимо вышеупомянутых кнопок, Lamp использует следующие кнопки и слайдеры Рис 9:

Dist: - это задает, показательно, расстояние, на котором интенсивность освещения является половиной Energy. Когда объект ближе чем этот параметр, он получит больше света, когда дальше - получит меньшее количество света.

Quad - Если эта кнопка выключена, используется линейное (нефизическое) соотношение затухания с расстоянием. Если включена, используется более сложное затухание, который может быть настроен пользователем от полностью линейного, как значение по умолчанию для Blender'а, до полностью, физически корректного, квадратичное соотношение затухания с расстоянием. Последняя опция более трудна для понимания и будет описана позже.

Sphere - Если эта кнопка нажата, свет исходящий от источника ограничен сферой, радиус которой значение Dist:.

Рис 9. Кнопки освещения типа Lamp.

Следующий Рис 10 тот же самый пример, что и предыдущий с Лампой Sun, но используется свет типа Lamp с различными значениями Dist: и с включенным и выключенным Quad затуханием.

Рис 10. Пример освещения Lamp. В примерах с включенным Quad: Quad1=0, Quad2=1.

Эффект от параметра Dist: очень очевиден, тогда как эффект кнопки Quad более тонкий. Фактически только первая плоскость должна быть освещена, потому что остальные должны пропадать в тени первых (при включении Ray Shadow).

Tip | Совет при использовании света Lamp
 | Так как свет Лампы не создает тени (без опции Ray Shadow), он проходит через стенки и т.п.. Если вам нужно создать некоторые хорошие эффекты, типа огня, или освещенному свечой интерьеру комнаты, который будет заметен снаружи окна - опция Sphere должна быть использована. Тщательно подбирая значение Dist:, вы можете сделать излучение огня только в пределах комнаты, при освещении снаружи крутым лунным светом, который моделируется светом Sun или Hemi или обоими одновременно

Свет типа Spot (точечный свет, прожектор)

Лампа Spot более сложная из всех источников света в Blender'е и на самом деле, более используемая, из-за того, что только Spot создает тени при использовании Buf. Shadow (обычные тени).

Лампа Spot это конусообразный луч, сгенерированный от места расположения источника света, который является верхушкой конуса, в заданное направление. Рис 12 наглядно это показывает.

Рис 12. Схема света типа Spot.

Лампа Spot, использует все кнопки. Для этого нужно новое, полное описание.

Опции для света Spot

Рис 13. Кнопки для света Spot

Помимо кнопок Negative и Layer об использовании которых известно, и кнопок Quad и Sphere, эффект от которых такой же как и для Lamp другие кнопки (Рис 13) предназначены:

Buf. Shadow - по умолчанию включена. Включает и выключает обычные тени для Spot. Для генерирования теней, используется теневой буффер, размер которого можно регулировать цифровой кнопкой ShadowBufferSize: Будьте внимательны, Blender не будет рендерить тень в любом случае, если опция (кнопка) Shadow не будет включена на глобальном уровне, в окне с кнопками рендеринга (F12), панель Render.

Ray Shadow - включает и выключает рэйтрассер-тени для Spot. В этом случае, тень генерирутся при помощи трассировки лучей, встроенным рэйтрассером. Будьте внимательны, как и в предыдущем случае, Blender не будет рендерить тень, если опция Shadow не будет включена на глобальном уровне, в окне с кнопками рендеринга (F12), на панели Render. При использовании Ray Shadow, необходимо также в этой же панели включить кнопку Ray.

Halo - создает ореол, как будто легкие лучи проходят сквозь туман. Эта опция будет описана позже, в разделе 'Объемный свет'.

Only Shadow - создает только тень, без присутствия света. Эта опция будет проанализирована позже, в разделе 'Параметры настройки Освещения'.

Square - Свет Spot, обычно по умолчанию, создает круглое пятно, но бывают случаи, когда необходимо пятно квадратной формы. Эта опция для переключения этих параметров.

SpotSi - угол верхушки конуса, или размер пятна от света Spot.

SpotBl - смешивание между световым конусом и неосвещенной областью. Низкое значение делает кромку светового пятна резче, а высокое мягче. Пожалуйста, обратите внимание, что этот параметр действует только на кромку светового пятна, но не на кромку теней, за кромку теней отвечает другая группа кнопок, которая будет описана в секции 'Тени'.

Quad1, Quad2 - имеет то же самое значение что и для Lamp.

HaloInt - Когда кнопка Halo включена, этот слайдер определяет интенсивность ореола для светового луча. Подробнее будет описано в разделе 'Объемный свет'.

Последняя группа кнопок для света Spot, управляет тенями и это такая обширная тема, что заслуживает своего собственного подраздела. Перед тем как перейти к теням, взгляните на Рис 15 который показывает результат освещения сцены светом Spot с разными настройками.

Рис 15. Пример освещения Spot с SpotSi=45°

Свет типа Area

Свет Area это направленный свет, который эмулирует излучение нескольких точек света. Излучает мягкий направленный свет ввиде участка. Размер и форму участка можно настраивать соответствующими опциями. В Blender'е, Area выглядит в виде желтой точки, обведенной кольцом, которая расположена по центру квадрата или прямоугольника - в зависимости от выбранной формы участка излучаемого света.

Использует уже известные для Lamp кнопки, плюс:

Square (Rect) - кнопка с выпадающим меню Shape, в котором можно выбрать форму участка света.

Size - размеры сторон прямоугольного/квадратного участка света. Не влияет на параметр Energy.

<<< Пред | След >>>
Освещение | Тени методом трассировки луча


Тени методом трассировки луча

TO BE WRITTEN

<<< Пред | След >>>
Типы источников света | Теневой буфер


Теневой буфер

Схемы освещения, проанализированные до сих пор производят на объектах только области, которые более или менее освещены, но никаких теней или самозатемнения, а сцена без надлежащего затемнения теряет глубину и реализм.

С другой стороны, правильное вычисление тени потребует полную и медленную трассировку лучей. Для того в Blender'е начиная с версии 2.32 есть встроенный трассировщик лучей (рэйтрассер). Чтобы сгенерировать тени рэйтрассером, в окне для настройки освещения, в панели Shadow and Spot, включите кнопку Ray Shadow.

Внимание! Чтобы тени были просчитаны, необходимо также включить в окне кнопок управления рендерингом F10, на панели Render, кнопки Shadow и Ray.

Тени также можно просчитать используя теневой буфер. Это подразумевает, что 'картинка', как она выглядит из самой лампы Spot, 'отрендерена' и сохранена дистанция от Spot для каждой точки. Любая точка отрендеренной картинки, дальше чем любая из этих точек, затем учитываются в тени. Чтобы использовать генерацию теней с помощью теневого буфера, необходимо на панели Shadow and Spot включить кнопку Buf. Shadow (по умолчанию включена). Не забудьте также про кнопку Shadow, в окне кнопок управления рендерингом F10, на панели Render.

Теневой буфер хранит эти данные. Чтобы сохранять алгоритм компактным, эффективным и быстрым, этот теневой буфер имеет размер, который установлен фиксированным вначале и может быть в Blender'е, от 512 до 5120, более высокое значение наиболее точно.

Пользователь может управлять алгоритмом, при помощи кнопок в окне для настройки освещения, на панели Shadow and Spot (Рис 16).

Рис 16. Кнопки настройки тени для Spot.

ShadowBufferSize - цифровая кнопка, значения от 512 до 5120, определяет размер теневого буфера.

ClipSta, ClipEnd - Чтобы ещё расширить эффективность, вычисления тени выполняется только в предопределенном диапазоне расстояний, от места светового пятна, этот диапазон идет от ClipSta, ближайший к свету Spot, а ClipEnd, дальше от него (Рис 15, раздел Кнопки для света Spot). Для всех объектов, ближе чем ClipSta от света Spot, тени никогда не вычисляются, и они всегда освещены. На объекты дальше чем ClipEnd, никогда не попадает свет и они всегда в тени. Чтобы получить реалистичную тень ClipSta должен быть меньше чем самое маленькое расстояние между любым имеющимся объектом в сцене и пятном света, а ClipEnd больше чем наибольшее расстояние. Для лучшего использования памяти, и лучшего качества тени, ClipSta должен быть как можно больше, а ClipEnd - как можно меньше, так чтобы уменьшить пространство, где должны вычисляться тени.

Samples - Для получения мягких теней, теневой буфер, единожды вычисленный, рендерится через свой собственный алгоритм сглаживания, который работает, используя среднее значение площади тени, по числу пикселей. Samples - это число пикселей. Его значение по умолчанию - 3, которое означает площадь 3x3 пиксела. Более высокие значения дают лучшее сглаживание, но более медленное вычисление.

Bias - это смещение, используемое для просчета теней, и здесь также: значение выше - качество лучше, но медленнее.

Soft - Регулирует мягкость границ тени. Чем выше, тем мягче, и более расширенные теневые границы. Обычно это значение, такое же самое как и значение Samples, для удвоения.

Halo step - Количество образцов ореола для объемных теней, в случае, когда используется объемный свет. Об этом будет сказано в разделе 'Объемный свет'.

Рис 17. Примеры теней от света Spot.

<<< Пред | След >>>
Тени методом трассировки луча | Объемный свет


Объемный свет

Объемный свет - это эффект, который вы видите в туманном воздухе, когда легкие лучи становятся видимыми из-за рассеивания света в тумане, пыли и т.д

Ели использовать его с осторожностью, он может придать сцене больше реализма... или убить её.

В Blender'е, объемный свет может быть сгенерирован только для ламп типа Spot, при нажатой кнопке 'Halo'(Ореол) (Рис 18).

Рис 18. Кнопка эффекта ореола для света Spot.

Если создать небольшую сцену (Рис 19), нажать кнопку Halo, то рендеринг выдаст картинку как на Рис 20.

Рис 19. Сцена со светом Spot.

Рис 20. Рендеринг ореола.

Эффект объемного света довольно силен. Интенсивность ореола можно регулировать при помощи слайдера HaloInt (Рис 18). Низкие значения, соответствуют более слабому ореолу.

Интересный результат. У нас получился объемный свет, но у нас нет объемной тени! Ореол проходит через сферу, и все же тень присутствует. Это все потому, что ореол (halo) присутствует во всем конусе света Spot, пока мы не скажем Blender'у сделать иначе.

Для получения объемной тени, конус света нужно разбить на образцы, количество которых определяется цифровой кнопкой HaloStep (Рис 18). Значение по умолчанию - 0, означает полное отсутствие образцов, а значит и нет объемной тени. Значение 1 дает сдвиг и следовательно прекрасные результаты, но увеличивается время рендеринга (Рис 23) , в то время как более высокое значение дает худшие результаты, но с более быстрым рендерингом (Рис 24).

Рис 23. Ореол с объемной тенью, Halo Step = 1.

Рис 24. Ореол с объемной тенью, Halo Step = 12.

Tip | Значения Halo Step
 | Значение 8 - обычно хороший компромисс между быстродействием и точностью.
<<< Пред | След >>>
Теневой буфер | Параметры настройки Освещения


Параметры настройки Освещения

Хорошо, теперь у вас есть основные знания. Теперь мы можем поговорить об освещении. Мы будем работать на одном примере, более сложном чем 'сфера над плоскостью', посмотрим, чего мы можем достигнуть в реалистичном освещении, используя Blender.

Обратимся к сцене на Рис 25. Фигура в сцене это Корнелиус, младший братик Сюзанны. У него светло-коричневый блестящий материал (R=0.8, G=0.704, B=0.584, Ref=0.7 Spec=0.444, Hard=10 - Да, не совсем как у настоящей обезьянки, но мы говорим об освещении, а не о материалах!) и стоит он на синей плоскости (R=0.275,G=0.5,B=1.0, Ref=0.8, Spec=0.5, Hard=50). Сейчас он освещен единственным светом типа Spot (Energy=1.0, R=G=B=1.0, SpotSi=45.0, SpotBl=0.15 ClipSta=0.1,ClipEnd=100,Samples=3,Soft=3, Bias=1.0, ShadowBufferSize=512).

Рис 25. Настройка света.

Рендеринг Корнелиуса с этими настройками, с OSA=8 и включенной кнопкой Shadows выдаст результат как на Рис 26. Результат ужасный. Имеем очень черные, нереалистичные тени на Корнелиусе, а тень, созданная самим Корнелиусом - недопустима.

Рис 26. Простое освещение лампой Spot.

Вначале подстроим ClipStart и ClipEnd, если они откорректированы, так чтобы охватить сцену настолько, насколько возможно (ClipSta=5, ClipEnd=20) результаты будут определенно лучше, по крайней мере для проектируемой тени. Собственная тень Корнелиуса все еще слишком темная (Рис 27).

Рис 27. Настройка света Spot с соответствующими дистанциями.

Для установки правильных значения для ClipStart и ClipEnd, есть хороший прием: Любой объект в Blender'е, может действовать как камера в 3D-виде. Следовательно, вы можете выбрать лампу Spot и переключится на вид из неё, нажатием CTRL + NUM 0. То, что вы увидели бы в теневом режиме, показано на Рис 28.

Всё что ближе к Spot, чем к ClipSta и дальше от Spot чем от ClipEnd - вовсе не отображается. Следовательно, вы можете точно подстроить эти параметры, проверяя, чтобы была видна вся тень, отбрасываемая объектом.

Рис 28. Настройка света Spot с разными дистанциями. Слева: ClipSta слишком завышен; В центре: Хорошо; Справа: ClipEnd слишком низкий.

Чего еще действительно не хватает -так это физического явления диффузии(распространение). Освещенное тело излучает свет от самого себя, следовательно, тени не могут быть полностью черными, потому что есть некая утечка света из соседних освещенных областей.

Эта диффузия света, правильно рассчитывается в Ray Tracer'е, и в Blender'е тоже, посредством движка Radiosity. Но есть настройки, которые могут моделировать это явление приемлемым способом.

Мы рассмотрим их, методом от простого к более сложному.

Освещение методом 'трёх точек'

Освещение методом трёх точек - это очень простая, классическая схема для получения обильного, мягкого освещения в сцене. Наша лампа Spot будет основная, или Ключевая, лампа в сцене которая создает тень. Мы добавим еще две лампы для эмуляции диффузии.

Следующая лампа, которая нам понадобится, называется 'Задний свет'. И расположим ее позади Корнелиуса (Рис 29). Это осветит скрытую часть нашего персонажа, и позволит нам отделить передний план нашей картинки от фона, а также даст ощущение глубины. Обычно, Задний свет, такой же силы как и Ключевой, если не сильнее. Здесь мы использовали свет типа Lamp с параметром Energy=1 (Рис 30).

Рис 29. Установка лампы 'Задний свет'.

Рис 30. Только Ключевой свет (слева), Только Задний свет (по центру) и оба (справа).

Результат уже намного лучше. Наконец, третья лампа это 'Заполняющая'. Цель Заполняющей лампы - это осветить тени на передней части Корнелиуса. Мы разместим Заполняющую лампу, точно там, где и камера, с параметром Energy ниже, чем самый низкий из параметров у Ключевой лампы и Заднего света (Рис 31). Для данного примера параметр Energy=0.75 (Рис 32).

Рис 31. Установка 'Заполняющей лампы'.

Рис 32. Только Ключевой и Задний свет(слева), Только Заполняющий свет (по центру) и оба (справа).

Заполняющий свет, делает видимыми те части модели, которые находятся в темноте при использовании только Ключевого и Заднего света.

Tip "Просачивание" цвета

Схема из трех точек, может быть расширена добавлением четвертой лампы, особенно при наличии ярко-окрашенного пола, как в данном случае.

Если есть ярко-окрашенный пол, наш глаз ожидает, что пол распространит часть света вокруг, и что часть этого света осядет на модель.

Чтобы смоделировать этот эффект, мы размещаем вторую лампу Spot, относительно пола, точно в зеркальном отражении к Ключевой лампе. Это означает, что если пол горизонтален и z=0, как в нашем примере, а Ключевая лампа находится в точке (x = -5, y = -5, z= 10), тогда разбрасываемый полом свет, должен быть размещен в (x = -5, y = -5, z = -10), и направлен вверх (Рис 33).

Рис 33. Установка световой диффузии пола.

Энергия этой лампы должна быть меньше, чем у Ключевой (в этом случае 0.8) и её цвет, должен полностью совпадать с цветом пола (в этом примере R=0.25, G=0.5, B=1.0). Результат на Рис 34

Рис 34. Установка четвертой лампы.

Пожалуйста, обратите внимание, что мы использовали лампу Spot, а не простую Lamp, её свет будет полностью блокирован (затенен), если не будет выключена соответствующая кнопка Shadow.

На самом деле, мы могли бы использовать просто Lamp, но если пол блестящий он больше отражает, чем распространяет свет. Отраженный свет, физически, это свет идущий от зеркально расположенного источника.

Освещение методом 'трёх точек' - Снаружи

Использование лампы Spot как Ключевой свет, в первом примере, ее настройки строго привязаны для использования внутри помещения или, максимум, снаружи, но в ночное время. Это из-за того что Ключевой свет ограничен дистанцией, его лучи расходятся и пол неравномерно освещается.

Если бы мы были снаружи, в ясный солнечный день, весь пол был бы равномерно освещен, и присутствовали бы тени.

Чтобы получить равномерное освещение по всему полу, свет Sun как раз подойдет. А если мы добавим свет Hemi для эмуляции света идущего со всех точек неба (как на Рис 8 в разделе Свет типа Hemi) мы получим отличное освещение... но, не будет теней!

Установки: Ключевой свет (свет Sun, R=1.0, G=0.95, B=0.9, Energy=1.0) и Заполняющий/Задний свет (Свет Hemi, R=0.8, G=0.9,B=1.0, Energy=0.6) показаны на Рис 35, а соответствующий отрендеренный Рис 36

Рис 35. Установка ламп Sun и Hemi для наружного освещения.

Рис 36. Лампы Sun и Hemi для наружного рендеринга.

Недостаток тени, делает Корнелиуса как бы плавающим в пространстве. Для того чтобы получить тень, давайте разместим лампу Spot, так, чтобы она совпадала с лампой Sun и имела такое же направление. А также сделаем Spot без тени (нажмите кнопку OnlyShadow). Снизим Energy на 0.9, а все остальные настройки оставим такими же как и в предыдущем примере (ShadowBufferSize=512, Samples=3 Soft=3 Bias=1 ClipSta=5, ClipEnd=20), результат на одном из Рис 37 (в центре).

Рис 37. Наружный рендеринг.

Тень слегка блокирована, потому, что Корнелиус имеет много четких мелких деталей, а значение ShadowBufferSize слишком маленькое, значение Samples также низкое, чтобы вычислить все эти детали. Если ShadowBufferSize повысить на 2560, а Samples на 6 и Bias на 3.0 то результат будет как на Рис 37 (справа). Более гладкая тень.

Пространственный свет

Концепция света, идущего из точки - это приближение. Источник света нереального мира безразмерный. Весь свет излучается поверхностями, но не точкой.

Это имеет пару интересных значений, главным образом для тени:

  • Точных теней не существует: тени имеют размытые края

  • Расплывчатость края тени зависит от относительных позиций и размеров освещения, от объекта дающего тень и объекта, получающего тень.

Первый из этих вопросов это приблизительные настройки 'Soft' для лампы Spot , но второй нет. Чтобы ясно понять этот пункт, вообразите себе высокий тонкий шест, по середине плоской поверхности, освещенной Солнцем.

Солнце - это не точка, оно имеет размеры. Если вы посмотрите на тень, вы заметите, что она очень точная в основе шеста и размывается по направлению к его верхушке. Если шест очень высокий и тонкий, то его тень исчезает.

Чтобы лучше понять эту концепцию, посмотрите на Рис 38. Солнце излучает свет, объект по середине перекрывает солнечные лучи только в темно-синей зоне. Для точки в светло-синей зоне, солнечный свет частично доступен, а это значит, что каждая из этих точек освещена.

Рис 38. Пространственный свет и его тень.

Светло-синяя зона это частично затененная область, где освещение понижается плавно, от полного света до полной тени. Это также очевидно, из Рис 38 чем эта область перехода меньше, рядом с объектом создающим тень, тем она становится больше дальше от него. Кроме того, если объект создающий тень меньше, чем объект дающий свет (и если объект дающий свет это Солнце , это часто бывает) есть дистанция, на которой только частично остается тень Рис 39.

Рис 39. Пространственный свет и его тень 2

В Blender'е, если мы разместим одну лампу Spot на фиксированном расстоянии от первой плоскости, и посмотрим на тень упавшую на вторую плоскость и будем отдалять вторую плоскость дальше, мы заметим что тень становится больше, но не мягче (Рис 40).

Рис 40. Лампа Spot и её тень

Чтобы в Blender'е симулировать пространственный свет, нам нужно использовать несколько ламп Spot, как будто мы создаем область дающую свет из многих точек.

Для этого в Blender'e есть лампа типа Area, но этого можно добиться или разместив несколько ламп spot вручную или использовать инструмент Blender'а - DupliVert (создание дубликатов объекта на каждой вершине), который более эффективен.

Добавьте Меш-решетку 4x4, там где расположена лампа Spot, убедитесь, что нормали смотрят вниз (Рис 41). Привяжите лампу Spot к меш-решетке, способом "Родтель-ребенок" (CTRL+P), выберите решетку и в кнопках управления объектом (F7), на панели Anim settings, нажмите DupliVert и Rot. Кнопка Rot необязательна, но потом она поможет вам в позиционировании области света. У вас получится набор ламп Spot как на Рис 42.

Рис 41. Установка решетки

Рис 42. Свет Spot и его dupliverts (дубликат на каждой вершине)

Затем уменьшите значение Energy для Spot. Если для одной лампы Spot, вы использовали определенное количество энергии, теперь вам нужно разделить эту энергию на количество дубликатов ламп. У нас получилось 16 ламп Spot, значит каждая лампа должна иметь 1/16 от значения Energy основной лампы(то есть Energy=0.0625).

Такие же как и вышеупомянутые два рисунка, освещенные новым способом, уступят результатам на Рис 43. Результат далек от ожидаемого, потому что область света слишком грубая. Но с другой стороны, повысить качество освещенного участка, можно увеличив число дубликатов лампы Spots и тем самым, увеличить время рендеринга.

Рис 43. Эмуляция пространственного освещения большим количеством ламп Spot.

Намного лучший результат можно получить смягчив световое пятно лампы Spot, вот параметры для SpotBl=0.45, Sample=12, Soft=24 и Bias=1.5 (Рис 44)

Рис 44. Эмуляция пространственного освещения большим количеством ламп Spot, с установками размытия.

И наконец, Рис 45 показывает как выглядит Корнелиус, после замены Ключевого света на 65 дубликатов Spot с Energy=0.0154 и с кольцевым шаблоном. Пожалуйста, обратите внимание, как тень плавно переходит от точной к более мягкой и мягкой.

Рис 45. Корнелиус в пространственном освещении.

Глобальное освещение (и глобальные тени)

Вышеупомянутые методы работают хорошо, когда есть единственный источник или так или иначе ограниченное количество источников света, отбрасывающие отчетливые тени.

Единственные исключения - это наружный свет, где свет Hemi эмулирует свет идущий с неба и настройка пространственного света, где множество точек эмулируют источник света с ограниченным расширением.

Первые два очень хорошо подходят для наружного освещения, где не важно, что свет Hemi не отбрасывает теней , а следовательно, вы не получите реалистичный результат.

Чтобы получить настоящий наружный свет, особенно при дневной облачной погоде, вам понадобится свет, идущий со всех точек неба, да еще и с тенями!

Этого можно добится используя туже методику, что и для пространственного света, но используя полу-сферу как родительский меш. Обычно это называется как " Глобальное Освещение ".

Вы можете использовать или UVsphere или IcoSphere, последняя имеет равномерно распределенные вершины, в то время как первая имеет большую концентрацию вершин на полюсах. Использование IcoSphere , даст больше "однородного" освещения, излучение всех точек неба имееют одинаковую интенсивность; UVsphere, дает больше света от полюсов. Лично я рекомендую IcoSphere.

Давайте все приготовим, возьмем плоскость и несколько примитивов, как на Рис 46. Мы будем использовать простые формы, чтобы легче было оценить результаты.

Рис 46. Сцена глобального освещения.

Переключитесь на вид сверху и добавьте IcoSphere, уровень подразделения 2 для IcoSphere обычно достаточный, а уровень 3 даст более мягкий результат. Увеличте IcoSphere так, чтобы она полностью свободно покрывала всю сцену. Переключитесь на вид спереди и в режиме редактирования удалите нижнюю часть IcoSphere (рис 47). Это будет наш "купол", где на каждой вершине мы разместим лампы типа Spot, при помощи инструмента DupliVert.

Рис 47. Купол.

Снова перейдите на вид сверху и добавьте свет Spot, привяжите его к половинке IcoSphere, способом parent и нажмите кнопки DupliVert и Rot также как и в предыдущем примере. Результат при виде спереди на Рис 48.

Рис 48. Купол с дубликатами ламп типа Spot.

Но это не то, что нам надо, все источники света направлены наружу и сцена не освещена. Это из-за того что нормали IcoSphere смотрят тоже наружу. Чтобы изменить направление нормалей, в режиме редактирования, выберите все вершины и в окне кнопок редактирования (панель Mesh Tools) нажмите кнопку "Flip Normals" (Рис 49).

Рис 49. Изменение направления нормалей.

Это приведет к результату как на Рис 50.

Рис 50. Правка купола и источников света.

Чтобы получить хороший результат, выберите основную лампу Spot и измените параметры следующим образом: SpotSi=70.0, SpotBl=0.5, ClipStart: в нашем случае 5 и ClipEnd: 30, повысьте значение Samples: на 6 и Soft:12. Уменьшите значение Energy на 0.1; таким образом, будут настроены все остальные дубликаты Spot. (Рис 51).

Рис 51. Настройка лампы Spot.

Теперь можно сделать рендеринг. Если добавлены какие-либо материалы и настроен World (окружающая среда), результат будет как на Рис 52. Обратите внимание на мягкие тени и 'всенаправленный' свет. Еще лучших результатов можно достигнуть, если использовать IcoSphere с уровнем подразделением 3.

Рис 52. Настройка лампы Spot.

Эта методика глобального освещения эффективно заменяет, для наружного освещения, лампу Hemi, но ценой высокой вычислительной мощности.

Можно добавить направленный источник света, чтобы эмулировать Солнце, или с помощью одиночной лампы Spot или Area.

Альтернативный способ чтобы сделать IcoSphere более неравномерной, это подразделить одну из ее граней, как это сделано на Рис 53. Выберите одну грань и нажмите кнопку "Subdivide", затем, снимите выбор и снова выберите маленькую внутреннюю грань и подразделите ее и т.д.

Рис 53. Концентрация ламп spot, в определенном участке.

В результате получим очень мягкий направленный свет, вместе с глобальным освещением (Анизотропный купол ) (Рис 54 ). Это достаточно хороший свет для облачной погоды, но не подходит для ясного солнечного дня. Чтобы получить освещение ясного солнечного дня, освещение купола необходимо отделить от солнечного света, чтобы можно было назначить им разные цвета.

Рис 54. Анизотропный купол.

<<< Пред | След >>>
Объемный свет | Мир и Вселенная


Мир и Вселенная

перевод: Sailor

Blender предостовляет ряд очень интересных параметров настроек, для придания вашему изображению классного фона и эффекта "глубины". Эти опции доступны в окне кнопок Мира (окружающей среды), которое вызывается нажатием соответствующей кнопки, в заголовке окна кнопок или F8. Рис 1.

Рис 1. Кнопки Мира (окружающей среды)

Фон

Самое простейшее использование кнопок Мира, это придание классного градиентного фона для вашей картинки.

Эти кнопки (панель World), Рис 2, позволяют вам опредилить цвет Горизонта (слайдеры HoR, HoG, HoB) и цвет Зенита (слайдеры ZeR, ZeG, ZeB).

Рис 2. Цвета фона

Затем, эти цвета интерпретируются в зависимости от того, какая из кнопок нажата, на панели Preview Рис 2:

  • Blend - Цвет фона смешивается от Горизонта до Зенита. Если нажата только эта кнопка , то градиент проходит от основания и вверх изображения, независимо от ориентации камеры

  • Real - Если эта кнопка тоже нажата, то смешивание происходит в зависимости от ориентации камеры. Цвет Горизонта расположен точно на линии горизонта, которая лежит на плоскости x-y, а цвет зенита используется для точек, расположенных вертикально выше и ниже камеры.

  • Paper - Если нажата эта кнопка, то градиент проходит через цвета Зенит-Горизонт-Зенит, следовательно, на картинке получается не один, а два градиентных перехода, принимая во внимание вращение камеры. Но, в любом случае цвет горизонта распологается по центру, а цвет зенита по краям.

Кнопки настройки Мира, также имеют кнопоки для управления текстурой. Их использование, в основном, ничем не отличается от использования кнопок текстуры, в окне настройки материалов. Но есть некоторые отличия (Рис 3):

  • Только 6 текстурных каналов.

  • Проекция текстуры (панель Texture and Input) имеет только опции Object и View, Опция View включена по умолчанию.

  • Текстура просто воздействует на цвет, но четырьмя разными способами: Она может затрагивать канал Blend, заставляя цвет горизонта проявляться там, где тестура ненулевая; Она может затрагивать цвет Горизонта, или цвет Зенита, вверху или внизу (Zen Up, Zen Down)

Рис 3. Кнопки текстуры

<<< Пред | След >>>
Параметры настройки Освещения | Экспозиция


Документация Blender'а Том I - Руководство Пользователя
<<< Пред Мир и Вселенная След >>>

Экспозиция

TO BE WRITTEN

<<< Пред | След >>>
Фон | Туман


Туман

Туман - это то, что может значительно усилить эффект глубины в вашем рндеринге.

В основном, Blender смешивает цвет фона с цветом объекта и усиливает их. Настройки тумана показаны на Рис 4.

Рис 4. Кнопки тумана

Кнопка Mist включает и выключает туман, ряд кнопочек ниже определяет коэфициент рассеивания тумана, Quadratic, Linear и Square Root. Они управляют "силой" тумана, в зависимости от удаления от камеры.

Туман просчитывается начиная от камеры, определяется параметром цифровой кнопки Sta:, и продолжается на расстояние указанное параметром Di:. Объекты, находящиеся за пределами параметра Sta+Di, полностью скрыты в тумане.

По умолчанию, туман равномерно покрывает всю сцену. Для большего 'реализма' вам может понадобиться снизить туман (высота, или z). Для этого служит цифровая кнопка Hi:. Если этот параметр не равен нулю, то туман имеет максимальную концентрацию внизу (z=0) и полностью рассеивается к верху.

И наконец, цифровая кнопка Мisi: определяет силу или интенсивность тумана.

На Рис 5, показан пример тестовой сцены.

Рис 5. Тестовая сцена

Рис 6 показывает результат с включенным и выключенным туманом. Настройки показаны на Рис 7; текстура - это обычная процедурная текстура Сlouds, с параметром 'Hard noise' .

Рис 6. Рендеринг без тумана (слева) и с туманом (справа).

Рис 7. Настройки Мира (окружающей среды).

Tip | Продолжительность(дистанция) тумана
 | Чтобы увидить как проходит туман, выберите камеру, затем, перейдите к кнопкам редактирования (F9) и нажмите кнопку Show Mist. После этого, камера отобразит пределы распространения тумана, в виде сегмента, простирающегося от камеры. Начало указано параметром 'Sta' и длительность параметром 'Di'.
<<< Пред | След >>>
Экспозиция | Звезды


Звезды

Звезды - это ореоло-подобные объекты, расположенные на заднем фоне, случайным образом. Настройки звезд показаны на Рис 8.

Рис 8. Кнопки звезд

Важно понимать несколько концепций: параметр StarDist: это средняя дистанция между звездами. Звезды, как и всё в 3D, расположены в пространстве, а не на картинке!

Min Dist: Это минимальная дистанция, на которой расположены звезды, относительно камеры. Этот параметр (дистанция) должен быть больше, чем дистанция до самого дальнего объекта в сцене, иначе, звезды могут появиться спереди вашего объекта.

Слайдер Size: определяет размер ореола звезд. Этот параметр лучше сделать меньше, чем предложено по умолчанию, чтобы придать размер звездам меньше пиксела, для большего реализма.

Слайдер Colnoise: случайным образом, добавляет оттенок к обычно белым звездам. Обычно не помешат чуть-чуть увеличить значение ColNoise.

Рис 9 показана таже картинка с туманом, что и на Рис 7 в разделе Туман, но с добавлением звезд. Настройки звезд показаны на Рис 8.

Рис 9. Рендеринг со звездами.

<<< Пред | След >>>
Туман | Окружающий Свет


Окружающий Свет

Кнопки настройки Мира (окружающей среды), содержат слайдеры для настройки окружающего света. Эффект окружающего света, это простейшая альтернатива глобальному освещению.

Используя окружающий свет, вместе с другими источниками освещения, можно добиться очень хороших результатов.

Слайдеры окружающего света показаны на Рис 11.

Рис 11. Настройки окружающего света.

<<< Пред | След >>>
Звезды | Анимация


Анимация

Документация Blender'а Том I - Руководство Пользователя
<<<Пред
След>>>

III. Анимация

перевод: Ash

Если вы готовы к анимации компьютерной графики, это часть для вас. Здесь будут рассмотрены возможности Блендера, объединяющие движение объектов в трёхмерном пространстве и деформацию объектов во времени.

Наиболее важной главой, раскрывающей невероятные возможности Блендера, является Анимация персонажей (Character Animation).

Содержание
Анимация без деформации
Анимация с деформацией
Анимация персонажей
<<< Пред | След >>>
Окружающий Свет | Анимация без деформации


Анимация без деформации объектов

Объекты можно анимировать разными способами. Можно анимировать объекты целиком, изменяя их позицию, ориентацию или размер во времени; можно выполнить деформационную анимацию, подразумевающую движение вершин или контрольных точек объектов. Также можно использовать наиболее сложный и гибкий инструмент анимации, применяя особый вид объекта - Арматуру (the Armature).

В этой главе мы рассмотрим первый из перечисленных способов, но основные понятия, о которых пойдёт здесь речь, будут необходимы для понимания последующих глав.

Программы для анимации как правило используют три способа, чтобы заставить трёхмерный объект двигаться:

  • Ключевые кадры (Key Frames) - положения объекта, заданные для определённых моментов времени (кадров). Анимация создаётся интерполяцией промежуточных положений объекта между ключевыми кадрами. Преимуществом этого способа является его наглядность. Аниматор может создавать одну позицию за другой, изменять предыдущие позиции или сдвигать их во времени
  • Кривые перемещения (Motion Curves). Для каждой из составляющих (XYZ) позиции, вращения и размера объекта могут быть заданы кривые, описывающие движение, где по горизонтальной оси откладывается время, а по вертикальной - значение величины. Преимущество этого метода - в возможности точного контроля над результатом перемещения.
  • Путь (Path) - это кривая в трёхмерном пространстве, по которой перемещается объект согласно заданной функции, определяющей положение объекта вдоль пути в зависимости от времени.

Первые две системы в Блендере являются одним целым, системой IPO (от слова InterPOlation - ИнтерПОляция). Изначально система IPO состоит из стандартных кривых перемещения, которые простым нажатием кнопки могут отображаться в виде системы ключей, без каких-либо преобразований и изменений результата. В процессе работы пользователь может переключаться в режим ключей или в режим кривых перемещения в зависимости от того, что лучше подходит для решения конкретной задачи.

Система IPO также некоторым образом используется и в анимации вдоль пути (path animation).

Модуль IPO

Относится к Blender v2.31

Модуль IPO в Блендере является универсальным. Нет никакой разницы, что им контролируется - движение объекта или свойства материала. Научившись работать с IPO объекта, схожим образом можно работать с другими IPO. При работе с разными типами IPO интерфейс Блендера меняется автоматически.

Каждый тип модуля IPO имеет фиксированное количество доступных каналов. Каждый канал имеет имя (LocX, SizeZ, и т.п.), говорящее о том, на что канал воздействует. При добавлении кривой IPO в канал анимация начинается немедленно. По выбору пользователя (и для этого есть разные каналы), кривая может быть связана либо с абсолютными значениями (LocX...) либо с их разностью (dLocX...). Последнее позволяет передвигать объект привычным способом, используя Grabber (Ctrl-G), не ломая при этом IPO. Позиция объекта будет результатом действия кривых IPO относительно первоначального положения.

Интерфейс Блендера предлагает много опций для копирования IPO, связывания IPO более чем с одним объектом (один IPO может анимировать много объектов), или для удаления ссылок на IPO. В разделе "Справочник окна IPO" ("IPO Window Reference") даётся их детальное описание. В рамках этой главы рассматриваются лишь основные применяемые опции.

<<< Пред | След >>>
Анимация | Ключевые кадры


Кривые и ключи IPO

Отнисится к Blender v2.31

Простейший способ работать с кривыми перемещения - преобразовать их в ключи IPO. Вернёмся к предыдущему примеру: мы задали две позиции внутри объекта IPO для 1 и 31 кадров при помощи <I>. В правой части экрана мы видим окно IPO. Установим текущим 21-й кадр (Рис. 5).

Рис. 5. Режим IPO ключей.

Если теперь поместить курсор мыши в 3D-окно, и нажать <K>, то произойдут два события:

  • Окно IPO переключится в режим IPO ключей.

  • Для выделенного объекта включится опция "DrawKey" ("Отрисовать ключевые позиции")

Смысл этих событий следующий:

  • В окне IPO будут показаны вертикальные линии, проходящие через все вершины видимых кривых IPO, а сами кривые станут чTрными. Вершины с одинаковыми значениями кадров будут привязаны к этим вертикальным линиями, (обозначающими ключи IPO ), а сами линии могут быть выделены, передвинуты или скопированы, так же, как вершины в режиме редактирования (Edit Mode). Разумеется, допустимо лишь горизонтальное перемещение ключей IPO.

  • Объект теперь отображается не только в своей текущей позиции, но и во всех ключевых позициях, в виде своих "призраков". В этом режиме ключевые позиции объекта можно не только видеть, но и менять в 3D-окне, используя режим перемещения (<G>) для выделенного ключа IPO.

Вот несколько инструкций для более полного использования возможностей системы:

  • Для выделения ключей IPO в IPO-окне достаточно пользоваться лишь <ПКМ>. Также доступен режим выделения границ (<B>). Для того, чтобы преобразовать всю анимацию прямо в 3D-окне нужно выделить все ключи IPO.

  • Команда "Вставить ключ" (<I>) действует на все выделенные объекты. Таким же образом можно менять ключи IPO в 3D-окне для нескольких объектов. Для изменения всей анимации группы объектов за один раз нужно пользоваться командой <SHIFT-K>: Show and select all keys (Отобразить и выделить все ключи).

  • Для выделения последующего или предыдущего ключей в 3D-окне нужно пользоваться клавишами <PAGEUP> и <PAGEDOWN>.

  • Создаваемые ключи IPO состоят из совокупности определTнных каналов. Исключением отдельных каналов можно добиться того, что для ключевых позиций в 3D-окне можно будет менять только те значения, которые задаются видимыми каналами. Например, при единственном выделенном канале LocX, ключевые позиции можно передвигать только в направлении X.

  • Ключ IPO состоит из нескольких вершин с точно одинаковыми значениями кадра. Если вершины передвинуть вручную, это может привести к появлению большого числа ключей, отдельных для каждой кривой. В этом случае можно использовать команду <J> ("Join"-"Объединить") для объединения нескольких выделенных ключей. Вершины для выделенных ключей IPO можно также создать на всех видимых кривых, использовав в окне IPO команду <I> и выбрав в меню "Selected keys" ("Для выделенных ключей")

  • Режим отрисовки ключевых позиций (Draw Key) и режим ключей IPO (IPOKey) можно включать или отключать независимо друг от друга. Для управления отрисовкой ключа объекта можно использовать кнопку DrawKey во вкладке с кнопками анимации (F7). Режим ключа IPO переключается клавишей <K>, нажатой в окне IPO. Одновременно эти два режима переключаются только клавишей <K>, нажатой в 3D-окне.

<<< Пред | След >>>
Кривые IPO | Другие применения кривых IPO


Другие применения кривых IPO

Отнисится к Blender v2.31

Систему интерполяции можно использовать не только для анимации движения объектов, но и в ряде других случаев.

В заголовке окна, в меню "IPO Type" ("Тип IPO"), кроме IPO объекта, выделенного по умолчанию, можно выбрать другие виды интерполяции (Рис. 6): материала (Material), окружающего мира (World), вершин меша (Vertex Keys), привязок (Constraints) и видеомонтажа (Sequence). В зависимости от ситуаци, в меню могут быть другие, кроме перечисленных, пункты. Так, если выделенный объект - кривая, не являющаяся мешем, в меню появится пункт "Curve" ("Кривая"), а если выделен источник света, то появится пункт "Lamp"/

Рис. 6. Меню в заголовке окна IPO

Модуль IPO материала предоставляет возможность изменять свойства материала во времени. При помощи кривых можно задать "ключевые точки" для материалов, также, как это делается для объектов. Если указатель мыши находится в окне кнопок, то командой <I> можно вызвать выпадающее меню с различными характеристиками материала. Если в окне IPO выбрани IPO материала, освещения или окружающего мира, то рядом с меню типа IPO появляется небольшая числовая кнопка, которой можно задать число активных текстурных каналов. При помощи кривых IPO можно управлять отображением всех восьми каналов!

Вообще, с использованием текстур становятся доступными ещё два вида анимации. Поскольку один объект может быть источником текстурных координат для другого (для этого во вкладке "map input" надо выбрать кнопку "Object" и в поле рядом указать имя объекта-источника), "оживить" текстуру объекта-приёмника можно перемещая, масштабируя или поворачивая объект-источник.

Кроме того, в каждом кадре можно загружать разные изображения (по порядку) в качестве текстур, используя для этого SGI movie или AVI файлы.

<<< Пред | След >>>
Кривые и ключи IPO | Интерполяция времени


Интерполяция времени

Относится к Blender v2.31

С помощью кривой IPO времени (TimeIPO) можно менять время анимации объекта, не меняя других параметров и кривых анимации ( Рис. 7). Фактически, изменяется время объекта по отношению к глобальному времени.

Рис. 7. Линейная интерполяция времени

Чтобы лучше понять это, создадим простую анимацию, перемещая объект в пространстве за 50 кадров. Потом в окне IPO выделим канал Time и создадим кривую времени IPO из точки (1,1) в (50,50). Это легко выполнить, меняя значения координат в окне числового ввода, используя команду (N).

В кадрах, где наклон кривой IPO времени положительный, наш объект будет совершать движение со скоростью, зависящей от степени наклона. Если наклон больше 1, анимация будет быстрее базовой, если меньше 1, то соответственно, медленнее. Наклон, равный 1 не меняет скорость анимации, а отрицательный наклон позволяет обратить анимацию.

Эти свойства представляют особый интерес для анимации частиц, позволяя либо "заморозить" частицы, либо сделать, чтобы они не испускались, а поглощались объектом. Также это позволяет изменить ход времени или просто замедлить анимацию.

Tip | Несколько кривых IPO времени
 | Можно скопировать IPO времени для каждой анимации, чтобы полностью замедлить движение. Также очень интересных эффектов (подобных тем, что использованы в "Матрице") можно добиться, останавливая анимацию одних объектов и продолжая её для других, например, для камер.
<<< Пред | След >>>
Другие применения кривых IPO | Анимация вдоль пути


Анимация вдоль пути

Относится к Blender v2.31

Другой способ анимировать объекты состоит в том, чтобы заставить их двигаться вдоль заданного пути.

Когда объект должен двигаться по заданному пути, или характер перемещения слишком сложен для ключевой анимации (например, движение планет вогруг Солнца практически невозможно выполнить, используя ключевые кадры), можно использовать объекты Curve (кривых) для задания пути движения в трехмерном пространстве.

Если кривая содержит больше одного непрерывного участка, будет использоваться только первый из них.

Рис. 8. Окно с настройками пути.

Также, как для техники отслеживания (tracking), для анимации вдоль пути существуют два способа - старый (до версии 2.30), описанный ниже, и новый, использующий технику привязок (constraints), описание которого есть в разделе Привязки (Constraints) главы "Анимация персонажей" . При назначении кривой предком для объекта будет предложено выбрать один из вариантов: Normal Parent (обычный предок) и Follow Path (следовать пути). Первый вариант подходит для обычного способа анимации вдоль пути, но требует дополнительных действий позднее. Второй вариант создаёт привязку вида "Follow Path"; в этом случае дополнительных действий не требуется.

Все виды кривых можно использовать как путь, включив опцию CurvePath в окне кнопок редактирования (F9). (См. Рис. 8).

Кривую, имеющую объекты-потомки, можно использовать как путь, выделив её и включив опцию Curve Path на вкладке Curve and Surface в блоке кнопок редактирования. После этого объект-потомок сможет двигаться вдоль данного пути. Кривую пути желательно сделать трехмерной, включив опцию 3D в той же вкладке.

Проще всего получить правильно настроенный путь можно, выбрав в меню ADD пункт Curve->Path. Будет создан NURBS-сплайн пятого порядка, обеспечивающий достаточно гибкое и плавное перемещение объекта.

По умолчанию длина пути - 100 кадров, за которые объект-потомок проходит его полностью. Эту длину можно менять, используя числовую кнопку PathLength.

Скорость объекта вдоль пути задаётся соответствующей кривой (Speed) в окне IPO. Для этого нужно в заголовке окна IPO установить тип интерполяции в Curve, где присутствует только один канал, Speed (скорость). Полная длина пути в окне IPO отображается в диапазоне от 0.0 до 1.0 по вертикальной шкале. Кривая IPO определяет зависимость между временем (в кадрах) и положением объекта на пути. Так можно создать обратное и пульсирующее движения. Для большинства путей вертикальные координаты кривой IPO должны точно соответствовать интервалу 0.0-1.0. Этого можно добиться при помощи меню числового ввода (N) в окне IPO. Длительность пути также задаTтся кривой IPO скорости. Так, если кривая IPO проходит значения от 0 до 1 за 200 кадров, то длина пути равна 200 кадрам. Если кривая IPO скорости удаляется, то длину пути определяет значение PathLen. При этом движение объекта линейно.

Если использовать опцию CurveFollow во вкладке Curve and Surface, то объект-потомок будет поворачиваться так, чтобы быть постоянно ориентированым в направлении пути. Задать характер этого вращения, можно, используя кнопки трекинга (Рис. 9) во вкладке анимации (F7):

Рис. 9. Кнопки трекинга.

Кнопки TrackX, Y, Z, -X, -Y, -Z определяют направление осей, т.е. ось, которая будет направлена вдоль пути.

Кнопки UpX, UpY, UpZ задают, какая из осей направлена "вверх", в положительном направлении локальной оси Z. Если оси Track и Up совпадают, это сочетание игнорируется.

Note

Кривые путей имеют ту же проблему, что и у скошеных кривых, о которой упоминается в определении направления "Вверх"

Если объект имеет собственное вращение, представить заранее результат трекинга сложно. Чтобы добиться наглядности, удалим вращение потомка, используя ALT-R. Также удалим "инвертирование" предка - ALT-P, "Clear Parent Inverse". Если объект ещT не имеет собственного вращения, то сделать его потомком пути удобно, пользуясь SHIFT-CTRL-P. При этом объект будет помещTн в начало пути и правильно ориентирован.

Трёхмерные пути имеют дополнительный параметр для каждой своей вершины: "наклон" (tilt). Он может использоваться для задания осевого вращения. Команда T в режиме редактирования позволяет задать наклон для выделенных вершин; объект-потомок при движениии будет повторять этот наклон.

Рис. 10 иллюстрирует сложный пример. Истребитель должен "нырнуть" в каньон, приблизиться к воде и снова взмыть вверх, камера будет двигаться рядом с ним, а в воде будет видно его отражение.

Для этого необходимо три пути. Путь 1 является предком объекта, вдоль него полетит истребитель.

Рис. 10. Сложная анимация вдоль пути

Истребитель имеет потомка - пустой объект "Track" ("след"), помещённый в его стратегическую точку. Камера является потомком другой кривой (Путь 2), и двигаясь по ней, отслеживает пустой объект "Track". Кривой IPO скорости истребителю задана постоянная скорость, камере - нет. Она движется вначале быстрее, потом медленнее, показывая самолёт с разных сторон (Рис. 11).

Рис. 11. Кадры в разные моменты движения. Камера отслеживает истребитель и показывает его с разных сторон.

Так, как мы хотим видеть полёт самолёта над рекой, нужно использовать карту окружающей среды для поверхности воды, чтобы получить отражение. Но пустой объект для вычисления карты должен быть расположен напротив камеры, а камера находится в движении!

Путь 3 является отражением пути 2, расположенным "под водой". Он получен из дупликата пути 2, отражённого в режиме редактирования командой M, при этом курсор должен находиться на уровне "воды".

Пустой объект для вычисления карты является потомком этого пути; кривые IPO скорости путей 2 и 3 совпадают. На Рис. 12 показан просчитанный кадр. Для реактивного следа были использованы системы частиц.

В этой сцене использовано несколько искусных приёмов, например частицы для реактивных потоков, туман, сфера неба, окружающая сцену и т.п.

Рис. 12. Кадр из готовой анимации.

<<< Пред | След >>>
Интерполяция времени | Анимация с деформацией


Анимация с деформацией

перевод: Ash

Кроме анимации объектов и материалов, Блендер позволяет менять, перекраивать и деформировать объекты во времени!Для этого есть несколько техник, основная и самая мощная из которых описана в отдельной главе об анимации персонажей. Другие способы деформационной анимации описаны ниже.

Абсолютные ключи вершин

Относится к Blender v2.31

Ключи для вершин отличаются от ключей для объектов (задающих их позицию), и также доступны в Блендере. Ключи вершин задают положение вершин внутри объекта. Поскольку число вершин может достигать тысяч, для каждой из них не создаётся отдельная кривая интерполяции; вместо этого применяется традиционная система ключей. Единственная кривая, создаваемая при этом, определяет последовательность отображения ключевых моментов во времени.

Ключи вершин не хранятся в структуре Object; они являются частью структуры ObjectData. При копировании ObjectData, связанные с ней модули ключей вершин также копируются. В Блендере нельзя сделать один и тот же блок ключей вершин общим для нескольких объектов, т.к. это не совсем практично.

Модуль ключей вершин является универсальным; им автоматически распознаётся разница между мешем, кривой, поверхностью и решёткой. Поэтому интерфейс и порядок работы для всех видов объектов унифицированы. В этом разделе подробно описана работа с ключами вершин меша, также есть краткие комментарии для других видов объектов.

Ключ вершин, создаваемый первым, является т.н. базовым. Он определяет координаты текстур. Изображения на полигонах, кривые и число вершин можно изменять только когда активен базовый ключ. Допускается для разных ключей менять число вершин. При этом изменения будут автоматически интерполированы.

Ниже приведен практический пример. Работая с ключами вершин, очень удобно держать открытым окно IPO. Для примера используем первое окно из стандартного файла Блендера. В окне IPO должно быть указано, что мы хотим видеть ключи вершин. Для этого выберем пункт Vertex из меню в заголовке окна IPO. Переведём курсор мыши в 3D-окно и нажмем <I> при выделенном и активном меше. В появившемся меню "Insert Key" выберем последний пункт Mesh. При этом появится диалог (Рис. 1), предлагающий выбрать вид ключа вершин: относительный или абсолютный.

Рис.1 . Меню добавления ключа вершин.

Выберем абсолютный тип ключа (Absolute Keys), после чего в окне IPO появится желтая горизонтальная линия. Это самый первый ключ, являющийся базовым. Также появится кривая IPO для скорости: Speed (Рис. 2).

Рис. 2. Базовый ключ и кривая IPO.

Tip Создание ключа вершин

Создать ключ вершин очень просто, однако после этого в системе происходит ряд "невидимых" изменений, описываемых ниже, которые необходимо учитывать.

Ключ вершин активен с момента его создания. Все последующие изменения меша будут записаны в данный ключ. Пэтому ключ должен быть создан до начала редактирования меша.

Перейдём на несколько кадров вперёд и снова создадим ключ: I, Mesh (В 3D-окне). Второй ключ будет изображен светло-синей полосой.Это обычный ключ; он, как и последующие ключи, содержит только информацию о вершинах. Нажмём TAB для перехода в режим редактирования и передвинем одну из вершин меша. Вернёмся на несколько кадров назад: видно, что ничего не изменилось! Это произошло потому, что в режиме редактирования новый ключ вершин не активируется. В режиме редактирования мы всегда видим активный ключ вершин.

Выйдем из режима редактирования и вновь перейдём на несколько кадров назад. Теперь можно увидеть действие системы ключей вершин. Ключи вершин можно выделять в окне IPO, но только если не включен режим редактирования. При этом будет показано действие ключа. Выделенный ключ вершин можно изменить, войдя в режим редактирования.

Существует три способа работы с ключами вершин:

  • "Быстрый" способ, использующий режим редактирования, от кадра к кадру.

    • Добавляем ключ. Создаётся базовый ключ.

    • Несколькими кадрами позже: добавляем ключ. Редактируем меш для второй позиции.

    • Несколькими кадрами позже: добавляем ключ. Редактируем меш для третьей позиции.

    • Продолжаем так же...

  • Способ "редактирования"

    • Вначале создаём необхдимые ключи, если они ещё не были созданы способом, описанным выше.

    • Бендер должен быть не в режиме редактирования.

    • Выделяем ключ. Входим в режим редактирования, изменяем меш, выходим из режима редактирования.

    • Выделяем ключ. Входим в режим редактирования, изменяем меш, выходим из режима редактирования.

    • Продолжаем так же...

  • Способ "вставки"

    • В этом способе неважно, есть ли созданные ключи и находимся ли мы в режиме редактирования.

    • Переходим в кадр, кде нужно добавить ключ.

    • Добавляем ключ.

    • Переходим к новому кадру, добавляем ключ.

    • Продолжаем так же...

Ключи нельзя переключать, находясь в режиме редактирования. Пользователь будет предупреждён, если попытается это сделать.

Ключи отображаются в виде линий на различной высоте. Значение высоты соответствует высоте кривой скорости для кадра, в котором был добавлен ключ.

Кривая скорости и ключи вершин могут быть выделены независимо, правой кнопкой мыши. Чтобы не усложнять работу, выделение ключей снимается, если для кривой скорости включается режим редактирования. Для того, чтобы проще было выделять ключи вершин, можно временно отключить кривую скорости, используя кнопку канала (справа в окне IPO).

Выделенные линии ключей можно перемещать по вертикали, используя режим перемещения (G). Кривую скорости можно также изменять способами, описанными в предыдущей главе. Однако эта кривая задаёт не значение, а характер интерполяции между ключами, поэтому при помощи синусоидальной кривой можно сделать циклическую анимацию.

Во время анимации считывается текущее значение кривой скорости, определяющее, какой ключ (или ключи) будет (будут) использованы, возможно, с интерполяцией, для вывода измененного меша.

Кривая скорости ведёт себя стандартным для кривой IPO образом. Линия ключа может иметь три различных режима интерполяции. Меню с этими опциями вызывается нажатием T при выделенном ключе:

  • Linear: Интерполяция между ключами линейна. Ключ отображается прерывистой линией. (...........)

  • Cardinal: интерполяция плавная; это стандартное значение.

  • BSpline: интерполяция более плавная и для её вычисления используются четыре ключа. Поэтому позиции вершин не соответствуют в точности заданным. Ключ отображается пунктиром. (- - - - - - )

На Рис. 3 показана простая анимация вершин для цилиндра. Вначале цилиндр превращается в большую звезду, затем в малую звезду, затем, поскольку кривая скорости снижается к нулю, деформация повторяется в обратном порядке.

Рис. 3. Абсолютные ключи вершин.

Несколько полезных советов:

  • Ключи добавляются клавишей I всегда, даже если они находятся в одной и той же позиции. Это можно использовать для копирования позиций. Две линии ключей в одной и той же позиции можно использовать также для смены эффекта интерполяции.

  • В режим редактирования можно войти обычным способом, даже если ни один ключ не выделен. Но в этом случае после выхода из редактирования все изменения будут утеряны. Чтобы избежать этого, нужно добавить ключ прямо в режиме редактирования.

  • Для ключей нет различия между выделенным и активным ключами, поэтому нельзя выделить несколько ключей сразу.

  • При работе с ключами, имеющими разное количество вершин, поверхности (faces) могут потерять заданный порядок. Нет инструментов, позволяющих точно задать последовательность поверхностей. Поэтому эта возможность действительно пригодна лишь для мешей, имеющих только вершины, например Halo.

Ключи кривых и поверхностей

Как уже говорилось выше, ключи для кривых и для поверхностей работают точно также, как и для мешей. Интересной техникой для кривых является создание ключей в Bevel Object. Хотя эта анимация не отображается в реальном времени в 3D-окне, тем не менее, она будет просчитана при рендеринге.

Ключи решёток (Lattice)

При добавлении хотя бы одного ключа в решётку, кнопки, определяющие её размерность, блокируются.

<<< Пред | След >>>
Анимация вдоль пути | Относительные ключи вершин


Относительные ключи вершин

Относится к Blender v2.31

Относительные ключи вершин (Relative Vertex Keys или RVK) несут информацию только о разнице между базовым и деформированным мешем, поэтому можно одновременно применять несколько таких ключей, "смешивая" их действие для получения сложной анимации.

Рассмотрим это на примере.

Создадим анимацию лица с использованием RVK. Если анимация с абсолютными ключами вершин управляется тоьлко одной кривой IPO, то в относительной анимации вершин создается своя кривая для каждого ключа, указывающая численно, насколько будет деформирован меш. Поэтому относительные ключи вершин могут быть смешаны (сложены, вычтены, и т.д.)

Для анимации лица исходной позицией будет расслабленное выражение со слегка открытым ртом и полуоткрытыми веками. Ключи могут быть заданы для мигания левого и правого глаза, выражений радости, печали, улыбки, сердитого лица, и т.д.

Суть метода относительных ключей вершин в том, что в окончательном результате участвуют только сдвинутые относительно базового меша вершины. Поэтому возможно одновременное действие разных ключей для разных мест модели.

Например, лицо с тремя ключами (улыбка и мигание левого/правого глаз) можно заставить улыбнуться, потом мигнуть левым глазом, потом правым глазом, потом обоими глазами и затем прекратить улыбку - всего за счет смешивания трех ключей. Без технологии относительных ключей вершин для этого понадобилось бы 6 ключей, для каждой конечной позиции.

Рассмотрим голову женщины на Рис. 4

Рис. 4. Женская голова, которую мы хотим "оживить"

Для создания RVK просто нужно нажать I, затем выбрать mesh (также, как для абсолютных ключей), но затем в меню выбрать Relative Vertex Keys. После этого будет создан и сохранен базовый ключ, отображенный желтой горизонтальной линией в окне IPO.

Относительные ключи задаются дальнейшей вставкой ключей вершин. Каждый раз, когда нажимается I и выбирается Mesh, в окне IPO появляется новая горизонтальная линия. Если при этом значение текущего кадра увеличивается, то следующая горизонтальная линия располагается над предыдущей. Для упрощения моделирования скроем все вершины кроме тех, что показаны на Рис. 5.

Рис. 5. Вершины лица, оставшиеся нескрытыми.

Перейдем к следующему кадру, например 5 и добавим новый ключ. Над желтой линией, которая теперь станет оранжевой, появится новая, голубая линия. Переключимся в режим редактирования и закроем левый глаз нашей модели.

После этого выйдем из режима редактирования. Если теперь выделить базовый ключ, то будет показан исходный меш. Если выделить наш первый RVK, то мы увидим его деформированным (Рис .6 ).

Рис. 6. Левый глаз закрыт

Повторим то же самое для правого глаза. Нужно помнить, что вновь создаваемый ключ создается из текущего активного ключа, поэтому разумнее выделить базовый ключ перед тем, как нажимать I.

Потом добавим улыбку (Рис. 7).

Рис. 7. Улыбка.

Наше окно IPO должно выглядеть примерно так, как на Рис. 8.

Рис. 8. Ключи в окне IPO.

Ключи вершин (голубые линии) расположены снизу вверх, в соответствии со своими кривыми IPO, т.е. самая нижняя голубая линия будет управляться кривой Key1, вторая - Key2 и т.д.

Для базового меша нет кривой IPO, потому, что он соответствует нулевому значение кривой IPO для всех других ключей.

Выделим Key1 и добавим IPO любым возможным способом. Сделаем кривую такой, как на Рис. 9.

Рис. 9. Кривая IPO ключа Key 1.

Эта кривая не деформирует наш меш до кадра 10, затем между кадрами 10-20 начнется деформация. С кадра 20 по кадр 40 Key1 будет полностью воздействовать на базовый меш (т.к. значение IPO равно 1), и глаз модели будет полностью закрыт. В кадрах 40-50 эффект будет снижен до нуля.

Можно проверить анимацию, нажав ALT-A или задавая номер кадра вручную. Второй вариант лучше, если компьютер недостаточно мощный.

Скопируем IPO используя стрелку, указывающую вниз на инструментальной панели окна IPO (Рис. 10). Выделим Key2 и вставим кривую (кнопка со стрелкой вверх). Теперь оба ключа будут одинаково действовать на оба глаза одновременно.

Рис. 10. Кнопки буфера обмена.

Tip | Перемещение панели инструментов
 | Если панель инструментов не помещается в ширину окна, то ее можно переместить, зацепив средней кнопкой мыши.

Добавим IPO для Key3. Сделаем еT немного другой (Рис. 11)

Рис. 11 Все кривые IPO.

Таким образом, глаза модели закрываются и она начинает улыбаться, улыбка максимальна когда глаза закрыты, затем улыбка чуть меньше и сохраняется после открытия глаз (Рис. 12).

Рис. 12. Готовая последовательность.

Кривая IPO для каждого из ключей контролирует смешивание относительных ключей. Конечное положение определяется суммированием эффектов от всех кривых.

Tip | RVK в окне действия
 | C RVK vожно работать и в окне действия (SHIFT-F12), не пользуясь окном IPO (Рис. 13). Влияние каждого из ключей задается движком. Отметки ставятся в ключевых точках (соответствующих контрольным точкам кривых IPO). Рис. 13. RVK в окне действия.

Tip | Значения, не входящие в диапазон [0,1]
 | Относительные ключи можно применить в режиме экстраполяции. Например, если базовой позицией лица является прямой рот, и ключом задается улыбка, то отрицательным значением IPO можно добиться выражения хмурой гримасы. Также, увеличение значения IPO больше 1 приведет к экстраполяции ключа, создав преувеличенную улыбку.
<<< Пред | След >>>
Анимация с деформацией | Решеточная анимация


Решеточная анимация

Применимо к Blender v2.31

Использование решетки (lattice) в качестве рожительского объекта для меша полезно не только для моделирования, но и для деформации объекта во времени.

Для анимации решетку можно применить двумя способами:

  • Анимировать решетку при помощи абсолютных или относительных ключей вершин;

  • Передвигать решетку или её объект-потомок.

Первая техника практически не отличается от того, что описано в предыдущих двух главах, за исключением того, что решетка применяется как объект-родитель.

Второй способ позволяет создать такие эффекты, как сплющивание объекта между роликами или всем известное искажение космического корабля при ускорении.

Создадим космический корабль и решетку вокруг, с параметрами, такими, как на Рис. 14.

Рис. 14 Настройка решетки

Выделим корабль, затем , держа SHIFT, выделим дополнительно решетку, и нажмем CTRL-P, чтобы сделать её предком корабля. При этом с кораблем не должно происходить никакой деформации, пока решетка не изменяется.

Следующие несколько шагов проделаем в режиме редактирования. Выделим решетку, войдем в режим редактирования, затем выделим все вершины (A), и растянем её по оси Х (держа среднюю кнопку мыши в начале растягивания) до нужной величины. При этом сразу будет видно, как вместе с решеткой деформируется меш корабля (Рис. 15).

Рис. 15. Растягивание

Теперь в режиме редактирования сделаем так, чтобы расстояние между вершинами решетки раз за разом увеличивалось ближе к её правой стороне. Это увеличит деформацию корабля при его прохождении через решетку. Вершины на правом крае решетки сведены в точку, для того чтобы корабль исчезал в конце анимации (Рис. 16).

Вновь выделим корабль и проведем его через решетку, чтобы предварительно оценить результат анимации. После этого можно сделать нормальную ключевую анимацию корабля, пролетающего сквозь решетку.

Рис. 16. Подготовленная решеточная анимация.

Tip | Следящее движение камеры
 | В этой анимации нельзя использовать центральную точку объекта для отслеживания или наследования, т.к. она будет находиться вне объекта. Для этоих целей следует использовать наследование вершин (vertex-parent) пустым объектом. Для этого нужно выделить пустой объект, затем меш, потом войти в режим редактирования и выделить одну вершину и нажать Ctrl-P.

Рис. 17. Некоторые кадры из готовой анимаци.

<<< Пред | След >>>
Относительные ключи вершин | Анимация персонажей


Анимация персонажей

перевод: Ash

Введение: свет, камера... МОТОР!

Как уже было сказано в разделе "Rigging" ("Оснащение") главы "Ваша первая анимация за 1 час", в Блендере для анимации персонажей используется понятие арматуры. Арматура подобна скелету, на который надет меш нашего персонажа; она нужна для придания персонажу различных поз во время анимации.

Арматура состоит из какого-либо количества костей (bone). Размер, положение и ориентация каждой кости в нашей арматуре зависит от нас, и в этой главе мы научимся применять различные виды настроек костей в зависимости от нашей ситуации.

При анимации арматуры разумно объединять взаимосвязанные позы в т.н. действия (action), означающие то же, что и в реальном мире. Например, процесс ходьбы можно представить как совокупность неподвижных поз, подобных кадрам кино. Но действия бывают разные. Аниматор должен владеть способностью разбить любые реальные движения или действия на простейшие составные элементы, для дальнейшей работы с ними. Это позволяет сэкономить время и силы (а также - деньги:), поскольку простые составляющие действий можно использовать многократно для разных ситуаций.

Однажды созданные действия можно комбинировать друг с другом, используя мощный редактор нелинейной анимаци (NLA Editor) Блендера; это придаст персонажам живое настроение и поведение.

В этой главе будут рассмотренны все аспекты Блендера, касающиеся Арматуры, Действий и редактора нелинейной анимации. В заключении будут показаны разные варианты настроек арматуры, позволяющие начинающим реализовать свои собственные идеи.

<<< Пред | След>>>
Решеточная анимация | Основные инструменты


Основные инструменты

Относится к Blender v2.31

Прежде, чем углубляться в детали, рассмотрим некоторые особенности Блендера, облегчающие процесс анимации.

В окне настроек имеется опция "авто-ключ" (auto-key). Когда она включена, Блендер будет автоматически создавать ключевые кадры при перемещении объектов. Это полезно для тех, кто не любит вставлять ключи явным образом, используя команду I. Режим авто-ключа можно включать отдельно для объектов (Object) и для режима задания позы (Action) при помощи кнопок на вкладке Edit Methods окна настроек (см. Рис. 1).

Рис. 1. Настройки опции "авто-ключ"

Если активирована опция Object, то ключевые кадры будут вставляться автоматически при изменениях, сделанных в режиме объектов (Object Mode). Те, кто хорошо знаком с интерфейсом Блендера, возможно сочтут эту опцию излишней.

Авто-ключ в режиме Action будет задавать ключевые кадры при изменениях в режиме позирования (Pose Mode). Это значит, что поза не будет потеряна, даже если пользователь забыл вставить ключевой кадр. Поэтому эта опция будет полезной даже для опытных пользователей.

Другой полезной особенностью является возможность просматривать в разных окнах кривые IPO разных объектов. Это особенно полезно при работе с Действиями, где каждая "кость" арматуры имеет свои IPO.

Рис. 2. Зафиксированное окно с кривыми IPO Действия

Содержимое текущего окна с IPO или Действием можно заблокировать, нажав на пиктограмму с изображением булавки в заголовке окна (Рис. 2). После этого содержимое окна не будет меняться, даже если объект не выделен, или выделен другой объект. Также поменяются цвет фона и цвет меню в заголовке окна IPO, напоминая о том, что это окно необязательно отображает IPO текущего выделенного объекта.

Блок IPO, который нужно отобразить в зафиксированном окне, выбирается с помощью меню обзора, это никак не подействует на состояние текущего объекта.

<<< Пред | След >>>
Анимация персонажей | Арматурный объект


Арматурный объект

(относится к Blender v2.31)

Арматурный объект - ключевое понятие в анимации персонажей. Это совокупность нескольких соединенных или не соединенных между собой звеньев - "костей". Звенья, последовательно соединенные друг с другом, образуют т.н. цепь обратной или инверсной кинематики (IK Chain), в дальнейшем будем говорить просто цепь. Такая цепь подразумевает более сложное взаимодействие, нежели простые отношения предок-потомок, потому что в ней не только старшие звенья передают перемещение младшим, но и наоборот, при решении задачи инверсной кинематики перемещение самого младшего звена вызывает перемещение всех остальных костей до начальной. Звено двигается подобно твердому телу с идеальными шарнирами на концах. Арматуру можно сравнить со скелетом живых существ. Руки, ноги, позвоночник и голова являются частями одного и того же "скелетного объекта".

Рис. 3. Добавление Арматуры

Для создания арматуры нужно выбрать ПРОБЕЛ>>Add>>Armature из меню инструментов (Рис. 3). После этого из того места, где находится 3d-курсор, появится новое звено, изменяющее размер и ориентацию при движении мыши. При нажатии ЛКМ завершится создание звена и от него будет начато новое. Так можно создать все звенья в цепи. Отменить создание звена можно, нажав ESC.

Новое звено можно добавить в режиме редактирования, выбрав ПРОБЕЛ>>Add>>Armature снова. Это снова вызовет режим добавления звеньев; созданные звенья будут частью той же арматуры, но принадлежащие уже другой цепи.

Можно продолжить цепочку из уже созданного звена, выбрав шарнир и нажав E (extrude). Новое звено при этом будет потомком того , из которого она создана, но не участвовать в ИК-цепи.

В режиме редактирования доступны следующие операции со звеньями арматуры:

  • Подгонка - можно выделить одно или несколько звеньев и использовать любое преобразование (S, G, R) для изменения их положения или ориентации. Нужно помнить, что в ИК-цепях не допускается наличие зазоров между звеньями, поэтому в них перемещение конечного шарнира звена приведет к перемещению начальной точки(корня) его потомка.

    Можно выделить всю ИК-цепь целиком, поместив курсор над одним из шарниров и нажав L. Также можно использовать выделение области (B).

  • Удаление - Это можно сделать, выделив начальный и конечный шарниры одного или нескольких звеньев, после чего все это будет выделено цветом. Нажатие X приведет к удалению выделенного. Если выделить только один шарнир, уделения не произойдет.

  • Выравнивание шарниров - можно выровнять шарниры по сетке или по курсору, использую меню выравнивания (SHIFT-S).

  • Точные значения - для более точного задания значений достаточно нажать N, при этом появится окно числового ввода. В нем можно ввести точные значения координат начальной и конечной точек звена, а также значение поворота звена вокруг своей оси.

    Автоматически ориентировать ось Z всех выделенных звеньев (это необходимо чтобы правильно работал режим отражения позы) можно, нажав CTRL-N. Это нужно сделать ДО начала анимации арматуры.

  • Отмена - В режиме редактирования можно отменить изменения, сделанные в текущем сеансе редактирования, нажав U. При этом арматура вернется к своему состоянию до начала редактирования.

Возможно объединить несколько арматур в одну. Для этого, находясь в режиме объектов, нужно выделить арматуры и нажать CTRL-J.

Присвоение имен звеньям

Присваивать звеньям арматуры осмысленные имена весьма важно по нескольким причинам. Во-первых, проще будет редактировать действия в окне действий. Во-вторых, имена звеньев используются, чтобы связать с ними каналы действий при их повторном использовании, и в-третьих, это дает некоторые преимущества в режиме отражения позы.

Следует помнить, что внутри данной арматуры имена звеньев должны быть уникальными. Несколько элементов с одинаковым именем можно использовать только тогда, когда они находятся в разных арматурах.

Для того, чтобы изменить имена звеньев, их нужно выделить в режиме редактирования, и включить кнопки редактирования (F9) в окне кнопок. При этом на панели "Armature Bones" (Рис.4) появится спискок выбранных звеньев. Изменять их имена можно, нажимая SHIFT-ЛКМ в строке с именем звена и вводя нужное значение.

Рис. 4. Кнопки редактирования для Арматуры

Задача станет проще, если либо за один раз редактировать только одно звено, либо если включить опцию "DrawNames" ("прорисовывать имена") в кнопках редактирования по F9 (Рис. 5 в разделе "Панель Арматура").

Tip Соглашения при отражении позы

Арматуры персонажей, как правило, осесимметричны. Это означает, что многие элементы в них парные, то есть один справа, другой слева. Если дать им корректные имена, Блендер сможет сам отразить заданную позу относительно осей симметрии, тем самым облегчая анимацию цикла ходьбы.

Если звенья парные, то им нужно указать соответствующие окончания в именах - ".L" и ".R" или ".Left" и ".Right", соответственно для левого и правого звеньев. Для звеньев, лежащих вдоль осей симметрии или не имеющих пары не нужно указывать специальных окончаний. Часть имени, к которому добавляются эти окончания, должна быть одинаковой у двух парных звеньев. Например, если имеются две руки, правая и левая, их соответственно следует назвать "Hand.R" и "Hand.L".

Иерархия и цепь обратной кинематики

Для изменения порядка иерархии нужно выделить звено, которое должно стать потомком и переключиться на панель Armature Bones в окне кнопок редактирования. Там, после имени звена имеется список с именем Child Of (Потомок...). В нем нужно выбрать имя того звена, которое мы хотим сделать предком. Это будет сделать легче, когда имена звеньев имеют смысл. Для освобождения звена из иерархии следует выбрать пустой пункт в списке.

В списке отображаются только разрешенные имена. Имена звеньев, которые не могут быть предком выбранного (например, его потомки), не показываются.

Переключатель IK, находящийся за списком, указывает анализатору обратной кинематики, что его действие будет передаваться через данный шарнир дальше. Если кнопка IK активна, то конец звена-предка будет двигаться также, как начало его потомка. Для безопасности не рекомендуется создавать зазоров в цепи обратной кинематики. Отмена активации кнопки IK не приведет к возврату начальной точки звена-потомка к его начальному положению, но ее перемещение уже не будет влиять на движение конечной точки звена-предка.

Note

Между звеном и его потомком допускается только одна ИК-связь, поэтому если потомков несколько, кнопка IK может быть активна только у одного из них.

Tip Установка локальных осей

Для достижения улчших результатов анимации следует убедиться, что локальные оси всех звеньев арматуры согласованы. Это следует сделать ДО начала какой-либо анимации.

Также необходимо, чтобы арматурный объект был в исходном положении в режиме объекта, т.е. чтобы его фронт был виден спереди, левая часть - слева и т.д. Для этого нужно ориентировать арматуру должным образом, после чего нажать CTRL-A для фиксации изменений. Это опять же нужно сделать до начала анимации.

Для получения хорошей анимации важна ориентация осей скручивания (roll handles). Угол скручивания для выделенного звена можно выставить, используя N. В зависимости от положения звена нужно задать точное значение скручивания.

Направления осей Z у парных звеньев должно совпадать. Хорошим решением будет ориентировать все оси Z вверх (или вперед, если звено вертикальное). ЭтоTбудет сделать проще, если если включить "DrawAxes" ("прорисовывать оси") в кнопках редактирования по F9.

Панель "Арматура"

Рис. 5. Опции отрисовки арматуры

На этой панель всего несколько переключателей. При активации кнопки "Rest Pos" (Исходное пложение) (Рис. 5 ), арматура будет отображаться в ее исходном положении. Это полезно, например, при правке связанного с ней меша, уже после того как была проделана анимация. Действия и позы при этом сохраняются, этот переключатель лишь временно отменяет их действие.

Кнопки Draw Axes и Draw Names включают отрисовку локальных осей и имен звеньев в 3D-окне.

Кнопка X-Ray (рентген) позволяет видеть звенья в режимах solid/shaded, если они скрыты внутри модели .

<<< Пред | След >>>
Основные инструменты | "Одевание" скелета (Skinning)


Покрытие скелета оболочкой (Skinning)

Относится к Blender v2.31

Когда Арматура - "скелет" персонажа создан, его нужно связать с самим персонажем (т.е. сделать предком в иерархии). "Покрытие" (или "одевание") - это техника гладкого деформирования меша арматурой, устанавливающая связи между вершинами меша и звеньями арматуры и характер влияния деформации каждого звена на перемещение вершин.

При установлении арматуры в качестве предка предлагается выбрать один из вариантов:

Parent to Bone (наследование по звену)

В этом случае появится меню, где нужно выбрать звено, которое будет предком объкта(ов). Этот вариант хорош для создания роботов, "тело" которых состоит из отдельных негнущихся мешей.

Parent to Armature (наследование по арматуре)

При выборе этой опции объект-потомок будет деформироваться арматурой по заданным группам вершин. Если какие-то из мешей не имеют групп вершин, они будут "одеты" на арматуру автоматически. В этом случае появится второе меню со следующими опциями:

  • Don't create groups (не создавать групп) - больше ничего не происходит, используется автоматический способ "одевания";

  • - для всех элементов арматуры будут созданы группы вершин с их именами, но без назначения самих вершин;

  • Create from closest bone (создать от ближайшего звена) - как предыдущий пункт, но группам будут автоматически назначены вершины, ближайшие к каждому элементу.

Parent to Armature Object (наследование по объекту арматуры)

В этом случае арматура будет являться для потомков объектом класса Empty, для использования с любой целью.

Если задачей является анимация персонажа, в большинстве случаев скелет назначается с опцией наследования по арматуре. При этом желательно использовать опцию Name Groups (группы по именам), это обеспечит автоматическое создание групп с правильными именами, позволяя избежать ошибок.

Над функциональностью опции Create from closest bone (от близайшего элемента) в настоящее время ведется активная работа. Для оптимального результата опция будет использовать "тип звена" ("Bone types"), который можно выбрать в списке-меню справа от переключателя IK (Рис .4 в разделе "Присвоение имен звеньям").

Сейчас доступны только опции Skinnable(покрываемое) и Unskinnable(непокрываемое). Первая опция разрешает создание группы для звена и назначение ей вершин меша, вторая опция исключает звено из процесса.

Так как текущий алгоритм автоматического присваивания вершин не обеспечивает оптимального результата, рекомендуется проверять каждую созданную группу.

Если меш не имеет групп вершин и является потомком арматуры, Блендер будет вычислять характер его деформации "на лету". Это очень медленно и не рекомендуется. Разумнее создать и использовать группы вершин.

Tip | Weight и Dist (вес и расстояние)
 | Параметры Weight и Dist, находящиеся за переключателем IK, используются только при автоматическом "одевании" которое является нежелателным из-за большой загрузки процессора и худшими по сравнению с другими способами результатами.

Группы вершин

Рис. 6. Группы вершин

Чтобы указать, какие вершины должны деформироваться данным элементом арматуры, для него создаётся группа вершин. Вершина может быть назначена в несколько групп, в этом случае ее деформация будет средневзвешенным значением от деформации соответствующих звеньев арматуры. Этим способом можно создать гладгий сгиб.

Создать новую группу можно в режиме редактирования. Новая группа создается нажатием кнопки New на панели кнопок редактирования (Рис. 6)

Там же группу можно удалить кнопкой Delete.

Текущая активная группа выбирается из списка.

Группы должны иметь имена, точно совпадающие с именами звеньев арматуры, и по написанию и по регистру. Поэтому так полезно использовать автоматическое присвоение имен. Переименовать группу можно, нажав SHIFT-ЛКМ в строке с именем и введя новое имя. Внутри одного меша имена групп должны быть уникальны.

Вершины можно назначить в активную группу, выделив их и нажав на кнопке "Assign". В зависимости от значения на кнопке "Weight", вершины получат тот или иной уровень зависимости от движения звена арматуры. Веса (weigth) имеют смысл только тогда, когда вершина назначена для более чем одного звена. Значение веса относительно; для каждой вершины вычисляется значение суммарного веса от всех влияющих на нее элементов, на которое затем делится воздействие от каждого отдельного элемента.

Присвоение вершине веса, равного нулю, фактически исключит ее из активной группы.

Для удаления вершин из текущей группы нужновыделить их и нажать кнопку "Remove" (удаление).

Нажатие кнопки "Select" добавит к уже выделенным вершинам вершины, принадлежащие к текущей группе. Кнопка "Deselect" имеет обратное действие. Это удобно для проверки вершин в группах.

Графическое назначение весов

Это альтернативный способ назначить веса для групп вершин. Пользователь может "нарисовать" веса на модели и сразу увидеть результат. Это облегчает создание плавных сгибов.

Для активации этого режима нужно выделить меш с группами и щелкнуть на соответствующей пиктограмме (Рис. 7).

Рис. 7. Включение режима графического задания веса.

Активный меш будет показан в режиме отображения весов. Здесь темно-синий цвет области означает отсутствие назначенных весов от даннй группы, а красный означает полное значение веса. За один раз можно "нарисовать" веса только для одной группы. Перемена активной группы в меню кнопок редактирования приведет к изменению картины отображения весов.

Техника "рисования" весов близка к технике раскрашивания вершин с некоторой разницей. "Цвет" здесь - это значение веса, заданное в кнопках редактирования. Значение opacity (нажим на кисть), устанавливаемое в кнопках раскрашивания, действует на усиление веса. Для стирания весов нужно установить нулевое значение веса и закрасить нужную область.

Note

Значение веса поменять достаточно просто, так как при нажатии TAB происходит переход из режима "рисования" весов в режим редактирования, с соответствующим изменением кнопок на панелях редактирования.

<<< Пред | След >>>
Арматурный Объект | Режим позы


Режим позы

Относится к Blender v2.31

Манипуляции со звеньями арматуры выполняются в т.н. режиме позирования (pose mode). В этом режиме можно работать только с активной арматурой. В отличие от режима редактирования, здесь нельзя добавить или удалить элементы.

Перейти в режим позирования выделенной арматуры можно нажатием CTRL-TAB. Также это можно сделать через меню, выбрав пункт "Pose Mode" в списке режимов в заголовке 3D-окна (Рис. 8). Выйти из режима можно в тем же способом, либо переходом в режим редактирования.

Рис. 8. Меню режимов и пункт режима позирования

В режиме позирования можно манипулировать звеньями арматуры, выделяя их правой клавишей мыши и используя обычные клавиши преобразований: R, S и G. Невозможно перемещать элементы, участвующие в цепочках обратной кинематики, поскольку эти цепочки должны быть неразрывны.

Ключевуые позиции для анимации выделенных звеньев добаляются нажатием клавиши I.

Отменить изменение позы для одного или нескольких выделенных звеньев можно, нажимая ALT-R для отмены вращения, ALT-S для отмены изменения размера и ALT-G для отмены перемещения. Применение этих трех команд при всех выделенных элементах вернет арматуру к её исходному состоянию.

Часто бывает необходимо скопировать позу одной арматуры в другую, или внутри одного действия, из одной его фазы в другую. В этом случае нужно использовать средства копирования позы в меню "Armature ".

Для лучшего результата рекомендуется ДО начала анимации в режиме редактирования выделить все звенья и нажать CTRL-N для автоматического ориентирования осей элементов.

Рис. 9. Меню копирования позы.

Для копирования позы в буфер нужно выделить нужные звенья в режиме позирования и выбрать в меню заголовка 3D-окна пункт "Armature>>Copy Current Pose" (Рис. 9). Информация о преобразованиях выделенных звеньев будет сохраняться в буфере до следующей операции копирования.

Для вставки позы из буфера нужно выбрать пункт "Armature>>Paste Pose" в том же меню (Рис. 9). При этом, если активна опция авто-добавления ключевого кадра для "Action" (см. главу "Основные инструменты"), ключи будут добавлены автоматически.

Для вставки отраженной позы (например, если персонаж наклоняется влево на скопированной позе, в отраженной позе он будет наклоняться вправо), служит пункт "Armature>>Paste Flipped Pose" меню копирования (Рис. 9). Следут помнить, что если арматура настроена неправильно (см. гл. "Арматурный объект"), техника отражения позы не даст ожидаемых результатов.

<<< Пред | След >>>
"Одевание" скелета (Skinning) | Окно действия


Окно Действия

Относится к Blender v2.31

Действие состоит из одного или более т.н. каналов действия. Каждый канал отвечает за движение одного из звеньев арматуры и содержит соответствующий набор ключей (IPO) действия. Окно действия служит для представления и редактирования всех IPO, объединяемых вместе одним действием.

Tip

Окно действия активируется нажатием SHIFT-F12 (Рис. 10).

Рис. 10. Окно действия

В окне действия отображаются маркеры, соответствующие каждому ключевому кадру соответствующего IPO действия. Это похоже на режим ключей ("Key") в окне IPO. Если канал действия содержит IPO привязок ("constraint"), ниже него будут показаны один или несколько дополнительных каналов привязок. Эти каналы можно выделять независимо от канала, содержащего их (Рис. 11).

Рис. 11. Окно действия с каналом привязок.

Блок ключей действий можно выделить либо правой клавишей мыши, либо выделением области (B). Выделенные ключи отмечаются желтым цветом. Их можно передвигать (G и движением мыши). Если при перемещении удерживать CTRL, ключи будут перемещаться на целое значение кадров. Новое положение ключей фиксируется левой клавишей мыши, а отменить его можно нажатием ESC.

Выделенный блок ключей можно растянуть или сжать по горизонтали (для замедления или ускорения действия) нажав S. После этого горизонтальным перемещением мыши можно менять масштаб блока. Нажатие левой клавиши мыши завершит операцию.

Удалить выделенные ключи можно нажатием X, когда курсор мыши находится над окном действия.

Группу ключей можно скопировать внутри одного действия, выделив их и нажав SHIFT-D. При этом немедленно включится режим перемещения для скопированных ключей. Левая клавиша мыши зафиксирует новое положение копий. Нажатием ESC можно отменить перемещение, при этом копии ключей не будут удалены.

Один или несколько каналов действия или привязок могут быть удалены вместе со всеми ключами. Для этого нужно их выделить левой клавишей мыши в левой части окна действия (выделенные каналы будут отмечены синим цветом), и убедившись, что курсор мыши все еще в левой части окна действия, нажать Х и подтвердить удаление. Эта операция не имеет отмены, так что следует быть осторожным. (Начиная с версии 2.35 отмена работает - прим. перев.)Также следует помнить, что если удаляемый канал содержит каналы привязок, эти каналу также будут удалены.

Tip | "Выпечка" действий
 | Если имеется анимация, использующая технику привязок, и ее нужно использовать в игровом движке (который не поддерживает привязок, и который не описан в данной книге), можно "испечь" эту анимацию, нажав кнопку "BAKE" в меню инструментов окна действия. При этом будет создано новое действие, в котором каждый кадр будет ключевым. Это действие будет корректно отображаться в игровом движке, уже без привязок. Для лучших результатов следует убедиться, что все целевые объекты привязок находятся внутри одной и той же арматуры.

Если из окна действий переключиться в окно IPO, то можно увидеть кривые IPO действия для активного звена арматуры (Рис. 12). IPO действия - это особый вид интерполяции, применяемый только для элементов арматуры, так как для передачи вращения в них используются не эйлеровы углы, а кватернионы, обеспечивающие лучшую интерполяцию между позами. (Исчерпывающее определение кватернионов можно найти здесь - прим. перев.)

Рис. 12. Кривые IPO действия

Кватернионы используют четырехкомпонентный вектор. Интуитивно связать каналы этого вектора с конечным результатом довольно сложно, но это зачастую и необязательно. Как правило, достаточно прямого указания ключевых положений звеньев в пространстве, редактируя кривые лишь при особой необходимости точного задания значений.

<<< Пред | След >>>
Режим позы | Нелинейная анимация


Нелинейная анимация

Относится к Blender v2.31

Нелинейная анимация - это техника, чем-то напоминающая Относительные ключи вершин, позволяющая объединять разные вещи: простую анимацию, сложные действия, "перетекающие" действия. В окне нелинейной анимации отображается вся анимация активной сцены. Здесь можно редактировать временные значения всех IPO, точно также, как в окне действия. Основные средства редактирования здесь те же, что и в Окне Действия.

Окно нелинейной анимации можно открыть нажатием CTRL-SHIFT-F12 (Рис. 13).

Рис. 13. Окно нелинейной анимации

Это окно можно использовать также для смешивания действий, и других задач нелинейной анимации. В нем можно добавлять и передвигать полосы действий таким же образом, как в редакторе последовательностей (Sequence Editor), а также организовывать смешивание этих действий.

В окне нелинейной анимации действия отображаются отдельными полосами, ниже полосы самого объекта; все ключи действия (включая ключи канала привязок) отображаются в один ряд (Рис. 14). Для детального просмотра действий нужно использовать окно действия.

Рис. 14. Развернутое отображение действия в окне нелинейной анимации

У объектов, содержащих каналы привязок, ниже полосы объекта будут отображаться дополнительные полосы привязок, которые можно выделить независимо от полосы объекта (Рис. 15).

Рис. 15. Развернутая полоса привязки в окне нелинейной анимации.

Щелчок правой клавишей мыши на имени объектов в окне нелинейной анимации приведет к выделению этих объектов в 3D-окне. Полосы выделенных объектов будут окрашены в синий цвет, остальные полосы останутся красными.

Можно удалить каналы привязок из объектов, если выделить правой клавишей мыши полосы этих каналов и нажав X.

Note

В окне нелинейной анимации отображаются только арматуры и объекты, имеющие ключи IPO.

Работа с полосами действия

Полосы действия можно создать только для арматурных объектов. Для создания полосы необязательно, чтобы объект уже имел связанные с ним Действия.

Полосу действия можно создать, поместив курсор мыши в окне нелинейной анимации над именем объекта и нажав SHIFT-A, после чего из выпавшего меню следует выбрать требуемое действие. В одной строке можно создать не более одной полосы действия.

Полосы действия в окне нелинейной анимации можно выделять, перемещеть и удалять также, как обычные ключи.

Обработка полос происходит сверху вниз. Каналы, определенные в более поздних полосах, перекрывают действие более ранних.

Анимация может быть создана также непосредственно для арматуры, независимо от наличия у нее полос действия. Эта т.н. локальная анимация своими действиями перекроет каналы действий в полосах. Однажды созданный локальный канал всегда будет перекрывать остальные Действия. Если нужно, чтобы он перекрывал только часть времени анимации, можно преобразовать локальное действие в полосу действия, нажатием C, поместив при этом курсор мыши над именем арматуры в окне нелинейной анимации. При этом действие будет преобразовано в полосу и помещено в конце списка полос действия.

Каждая полоса имеет ряд опций, которые можно поменять, если выделить её и нажать N (Рис. 16). Возможны следующие опции:

Рис. 16. Опции полосы нелинейной анимации

  • StripStart/StripEnd (начало полосы/конец полосы) - Первый и последний кадр полосы действия в анимации

  • ActionStart/ActionEnd (начало действия/конец действия) - Порядок считывания ключей из действия. Если номер последнего кадра сделать меньше, чем номер первого, действие будет воспроизводиться в обратном порядке.

  • Blendin/Blendout (начало смешивания/конец смешивания) - Число кадров для образования плавного перехода между текущим и предыдущим по списку действиями.

  • Repeat (повтор) - Число требуемых повторений действия. Параметр несовместим с опцией "Use Path"(вдоль пути).

  • Stride (шаг) - Расстояние (в единицах Блендера), на которое персонаж должен переместиться за один цикл действия (обычно применяется для цикла ходьбы). Опция необходима только при использовании опции "вдоль пути".

  • Use Path (вдоль пути) - Если арматура является потомком Кривой(Curve) и имеет заданное значение "шаг" ("Stride"), эта опция разрешает движение объекта по пути вдоль кривой при анимации. Опция незаменима при анимации ходьбы.

  • Hold(удерживать) - Если опция включена, то последний кадр действия будет отображаться все время, до следующего действия. Иными словами, арматура будет возвращаться в исходную позицию.

  • Add (добавление) - Указывает, что преобразования, задаваемые данной полосой, должны добавляться к любым существующим данным анимации, а не перекрывать их.

<<< Пред | След >>>
Окно Действия | Привязки


Привязки

Относится к Blender v2.31

Привязки (Constraints) - это правила, задаваемые для преобразований элементов арматуры и других объектов. Этот раздел носит довольно общий характер и относится не только к анимации персонажей, так как анимация многих других объектов также может использовать технику привязок.

Привязки Блендера предоставляют множество возможностей, в том числе такие, как отслеживание объекта и решение задач обратной кинематики.

Для создания привязки нужно, чтобы 3D-окно было в режиме объекта, панель кнопок- в режиме контекста объекта (F7) и чтобы объект был выделен. Если привязка добавляется к элементу арматуры, нужно находиться в режиме позирования, и элемент должен быть выделен. На панели контекстных кнопок имеется вкладка "Constraints" (Рис. 17). При нажатии на ней кнопки "Add" (добавить) появится меню со списком возможных типов привязки.

Рис.17. Панель привязок.

После того, как нужный тип привязки будет выбран, на панели появятся еT кнопки. Привязку можно удалить из списка, нажав на пиктограмме "X" около неT. Кнопки привязки можно свернуть в одну строку, щелкнув на оранжевом треугольном значке. Когда привязка находится в свернутом виде, еT можно перемещеть вверх или вниз по списку, щелкая над ней мышью и выбирая в меню "Move Up"(вверх) или "Move Down"(вниз).

Для большинства привязок в специальной строке должно быть задано имя целевого объекта (Target Object). Если целью является элемент арматуры, то вначале нужно ввести имя арматуры этого элемента, после чего ниже появится другая строка, где нужно ввести имя самого элемента.

Типы привязок

Существуют несколько видов привязок, все из которых можно применять к элементам арматуры, и часть их можно также применять для других объектов:

  • Copy Location (копировать положение в пространстве) – привязывает одну или несколько (по выбору) координат объекта к соответствующим координатам целевого объекта.(Рис. 18).

    Рис. 18. Привязка копирования положения

  • Copy Rotation (копировать поворот) – глобальное значение поворота целевого объекта копируется и применяется к владельцу привязки (Рис. 19).

    Рис. 19. Привязка копирования поворота.

  • Track To (Отслеживание) – направляет владельца привязки одной из его осей (по умолчанию – ось Y) в сторону целевого объекта, в положительном или отрицательном направлении (указывается кнопками-переключателями). Вращение объекта вычисляется так, чтобы одна из его осей (по умолчанию – Z, также выбирается переключателем) была направлена вверх (Рис. 20).

    Рис. 20. Отслеживание.

  • Locked Track – (заблокированное отслеживание) – направляет владельца привязки одной из его осей (по умолчанию – ось Y) в сторону целевого объекта, в положительном или отрицательном направлении (указывается кнопками-переключателями). Вращение объекта вычисляется так, чтобы одна из его осей (по умолчанию – Z, также выбирается переключателем) не меняла своего положения.

    Это означает, что объект будет вращаться вокруг своей фиксированной оси, так, что целевой объект будет оставаться в плоскости, образованной указывающей и заблокированной осями (Рис. 21).

    Рис. 21. Заблокированное отслеживание

  • Follow Path (следовать вдоль пути) – заставляет владельца привязки двигаться вдоль целевого объекта (которым может быть кривая или путь).

    По умолчанию объект проходит вдоль пути за 100 кадров. Ориентировать объект вдоль кривой можно, включив кнопку CurveFollow и установив на переключателе оси, одна из которых будет ориентирована по касательной к кривой, а другая – направлена вверх. Для того, чтобы поменять количество кадров, за которое объект проходит путь, следует отредактировать кривую IPO пути(Рис. 22).

    Рис. 22. Следование вдоль пути.

  • IK Solver (обратная кинематика, только для звеньев арматуры) – Для облегчения анимации многосегментных элементов (например руки или ноги) применяется техника обратной кинематики. Это означает, что корневая точка владельца привязки будет перемещаться вместе с целевым объектом, за счет изменения ориентации старших в цепочке элементов (но без перемещения корня цепочки). Если это невозможно, будет использоваться наиболее близкое решение. Эта привязка меняет ориентацию всех элементов, участвующих в цепочке обратной кинематики (Рис. 23).

    Рис. 23. Обратная кинематика.

    Note

    Если целью обратной кинематики является другой элемент той же арматуры, настоятельно рекомендуется убедиться в том, что этот элемент, обычно именуемый инструментом обратной кинематики, не является потомком любого другого элемента в ИК-цепочке, иначе может произойти нечто непредсказуемое

  • Action (действие, только для элементов арматуры) – позволяет активировать для элементов арматуры заданный канал действия, в зависимости от поворота другого объекта или звена арматуры. Обычно эта привязка используется для имитации выпуклости мускулов при сгибании сустава. В этом случае привязка должна быть задана для звена арматуры, отвечающее за создание выпуклости; в качестве цели следует указать поворачиваемый объект или элемент арматуры (Рис. 24).

    Рис. 24. Привязка к действию

    В поле AC задается имя действия с анимацией изгиба. Единственным используемым каналом там будет тот, что содержит анимацию выпучивания для элемента, содержащего данную привязку.

    В полях Start и End указываются начальный и конечный кадры действия.

    В полях Min и Max задается диапазон поворота целевого объекта. Начальный и конечный кадры действия будут соответствовать диапазону от минимального значения поворота до максимального. (Значению Min будет соответствовать кадр дейтвия с номером Start, значению Max – кадр с номером End). При этом значение в поле Min может быть больше, чем Max.

    В выпадающнм списке выбирается требуемый компонент вектора вращения.

  • Null – Эта привязка, которая не делает ничего; она напрямую никак не трансформирует объект. ЕT используют лишь как разделитель; о том, зачем это может потребоваться, поясняется в следующем разделе (Рис. 25).

    Рис. 25. Привязка Null

Некоторые правила использования привязок

Привязки могут задаваться как для объектов, так и для звеньев арматуры. Если привязки заданы как для звеньев арматуры, так и для объекта этой арматуры, привязки объекта будут выполнены в первую очередь.

Когда привязка выполняется, это значит, что все еT зависимости уже выполнены и находятся в своих конечных положениях. Примерами зависимостей являются предок объекта, предки этого предка (в общем случае), и иерархические цепочки всех целевых объектов, перечисленных в правиле привязки.

Внутри данного объекта привязки выполняются сверху вниз. Привязки, находящиеся ниже по списку, могут отменить действие тех, которые располагаются выше. Каждая привязка в качестве входного значения получает результат действий предыдущих привязок. Исходной информацией для первой в списке привязки являются значения кривых IPO, связаныех с объектом.

Если несколько привязок одинакового типа следуют друг за другом, то операция будет выполнена ОДИН РАЗ для всего этого блока, при этом будут использоваться усреднTнные значения от всех целевых объектов. Таким способом, например, можно привязать объект к точке между двумя другими объектами. Если необходимо, чтобы каждая привязка выполнялась индивидуально, между ними можно вставлять привязки типа NULL.

Закольцовка привязок не разрешается. При обнаружении кольца все участвующие в нTм привязки будут временно заблокированы (и подсвечены красным цветом). После устранения конфликта действие этих привязок будет автоматически возобновлено.

Степень влияния (Influence)

Ползунок "Influence", имеющийся во всех привязках позволяет задать степень влияния привязки на изменение объекта.

Если блок (серия привязок одинакового типа, следующих друг за другом) состоит всего из одной привязки, то значение влияния, равное 0.0 означает, что она не будет действовать на объект. Влияние, равное 1.0 означает воздействие привязки в полной степени.

Если привязок в блоке несколько, значения влияний будут использоваться, как соотношения. Так, если две привязки, А и Б имеют влияние по 0.1, то конечная цель будет находиться в центре между двумя целевыми объектами (отношение 0.1:0.1, или 1:1 или 50% для каждой цели).

Степень влияния можно контролировать с помощью кривых IPO. Чтобы добавить к привязке такую кривую, нужно открыть окно IPO и изменить тип кривой на constraint, щTлкнув на пиктограмме с изображением цепи. Затем нужно нажать кнопку "Edit" в желаемой привязке. Если у привязки ещT нет кривой IPO, она будет создана. В других случаях будет показана существующая кривая. Теперь ключевые кадры для привязки могут быть созданы и отредактированы только в окне IPO выбором канала INF и щелчком CTRL+ЛКМ в пространстве IPO.

При смешанных действиях с кривыми привязок следует помнить, что во учитываются только кривые, относящиеся к локальным действиям с арматурой. Кривые привязки, относящиеся к полосам действий, игнорируются.

Important

В арматурах кривые привязок сохраняются в Действиях. Это значит, что при изменении действия также будет изменяться ipo привязки.

<<< Пред | След >>>
Нелинейная анимация | Арматура для конечностей (рук и ног)


Арматура для конечностей (рук и ног)

автор: Lyubomir Kovachev

Относится к Blender v2.31

Рука

Настройка анимации рук является напростой задачей. Жесты и движения пальцев и запястий очень важны, они отражают эмоции персонажа и его взаимодействие с другими персонажами и объектами. Поэтому очень важно иметь эффективно настроенную арматуру, позволяющую достаточно просто двигать пальцы и запястья. Ниже описано, как это сделать.

Рис. 26. Модель руки

Для этого учебника мы используем меш простой мультяшной руки (Рис. 26).

(Примечание переводчика: здесь и далее понятие привод ИК (привод инверсной кинематики) будет соответствовать оригинальному термину IK solver, дословно означающему вычислитель инверсной кинематики.)

Далее мы установим один привод ИК для движения руки целиком, и четыре других привода ИК для каждого пальца. Для поворота запястья используем просто вспомогательную кость.

Итак, глядя на наш меш, начинаем создавать арматуру.

Рис. 27. Рисование арматуры

Расположим 3D-курсор в точке плеча, перейдем на вид спереди и создадим арматуру. Создадим цепочку из трех костей v одну в верхнем плече, вторую в нижнем плече, и третью в ладони, закончив ее там, где начнется средний палец. То, что мы создали, образует цепь элементов арматуры (Рис. 27).

Рис. 28. Арматура на виде сбоку.

Рис. 29. Подгонка арматуры на виде сбоку.

Теперь изменим режим просмотра на вид сбоку и разместим кости так, чтобы они находильсь внутри руки и ладони (Рис. 28 и Рис. 29).

Рис. 30. Привод ИК запястья.

Сделаем вид крупнее и расположим курсор в корневой точке ладонной кости. Добавим новую кость, направленную вправо и той же длины, что ладонная кость. Это будет привод ИК всей руки (Рис. 30).

Рис. 31. Устройство пальца.

Расположим 3D-курсор в точке начала среднего пальца и на виде спереди создадим новую цепочку из четырех косточек (Рис. 31). Три из них будут действительными костями, а четвертая v вспомогательной, т.н. нулевой костью, которую мы направим в сторону ладони, и которая нам пригодится позднее для обратной кинематики.

Вновь перейдем на боковой вид и переместим косточки так, чтобы они разместились внутри пальца. Это может стать нелегкой задачей; облегчить работу поможет просмотр сцены с произвольных точек (режим трэкбола), см. Рис. 32.

Рис. 32. Устройство пальца

Рис. 33. Добавление привода ИК для пальца

Теперь добавим привод ИК для цепочки пальца. Поместим 3D-курсор в корневой точке нулевой кости и добавим косточку с такой же длиной, как остальные три косточки в пальце (Рис. 33). Эта кость будет "рукояткой" привода ИК.

Рис. 34. Арматура для остальных пальцев.

Повторим то же самое для создания цепочек ИК для остальных пальцев. Единственное отличие будет в большом пальце, который имеет всего две действительных косточки, вместо трех. Достаточно скопировать и вставить цепочки, и затем подгонять их...(Рис. 34).

Рис. 35. Имена для элементов руки

Пришло время для важной задачи v дать косточкам имена. Это необходимо для последующей привязки костей к мешу. Назовем кости так, как показано на Рис. 35.

Note

Имена косточек для пальцев 1 и 2 не показаны, поскольку они такие же, как в пальце 3, лишь с другим индексом.

Рис. 36. Привязывание большого пальца

Теперь кое-что свяжем между собой отношениями родитель-потомок

Выделим начальную кость большого пальца "ThumbA.R" (Рис. 36), затем в меню редактирования щелкнем в поле "child of" (потомок) и выберем там "Hand.R". Это сделает большой палец потомком ладонной кости.

Рис. 37. Привязывание остальных пальцев.

Точно также сделаем: (Рис. 37):

  • Кость "Fing1A.R" потомком "Hand.R"

  • Кость "Fing2A.R" потомком "Hand.R"

  • Кость "Fing3A.R" потомком "Hand.R"

  • Кость "IK_thumb.R" потомком "Hand.R"

  • Кость "IK_fing1.R" потомком "Hand.R"

  • Кость "IK_fing2.R" потомком "Hand.R"

  • Кость "IK_fing3.R" потомком "Hand.R"

Для чего все это было проделано? Для чего так много костей сделано потомками "Hand.R"? Это нужно для того, чтобы при перемещении и повороте руки пальцы перемещались вместе с ней.

Note

Кости-"рукоятки" приводов ИКне являются потомками каких-либо костей из контролируемых ими цепочек ИК. Все они являются потомками ладнной кости "Hand.R".

Рис. 38. Настройка привода ИК для запястья. Выделение кости.

Настало время задать привязки. Войдем в режим позирования (Рис. 38) и включим панель контекстных кнопок (F7). Выделим ладонную кость ("Hand.R") и добавим привязку вида "IK solver" на пенели "Constraints". Там же, в поле "OB", введем имя нашей арматуры - "Armature". После этого кость переместится в центр арматуры, до тех пор, пока не будет сделана следующая операция. В новом появившемся поле "BO" нужно ввести имя целевой кости ИК - "IK_arm.R". После этого с помощью этой кости можно управлять движением руки (Рис. 39).

Рис. 39. Настройка привода ИК для запястья. Установка привязки.

Теперь повторим те же операции,

  • выделив "ThumbNull.R" добавим привод ИК на кость "IK_thumb.R",

  • выделив "Fing1null.R" добавим привод ИК на кость "IK_fing1.R",

  • выделив "Fing2null.R" добавим привод ИК на кость "IK_fing2.R",

  • выделив "Fing3null.R" добавим привод ИК на кость "IK_fing3.R".

С настройкой костей покончено. Теперь в режиме позы можно, выделяя разные приводы ИК, подвигать их, проверяя работу цепочек обратной кинематики. Можно шевелить пальцами и всей рукой, кроме того, при врещеини ладонной кости должна вращаться вся кисть.

Теперь перейдем к покрытию оболочкой. Это означает настройку деформации меша. Мы должны создать в меше группы вершин. Каждая группа должна иметь то же имя, что и кость, деформирующая ее. Если группы вершин не задавать, то будет расходоваться больше ресурсов процессора, анимация будет удручающе медленной и, возможно, с ошибками. Настоятельно (почти обязательно) рекомендуется использовать для персонажей подразделяемый меш, что позволяет уменьшить количество вершин. Иными словами, если меш слишком сложный, то и привязать его к арматуре также будет сложно. И хотя не нужно жертвовать деталями, все же моделировать меш следует экономно, с как можно меньшим количеством вершин и с использованием подразделяемых поверхностей.

Сделаем меш потомком арматуры, при этом в меню выберем "Armature" и в следующем меню выберем "Name Groups". После этого в меш будут добавлены пустые группы вершин.

Выделим меш руки, перейдем в режим редактирования и включим кнопки редактирования (F9). На панели "Mesh Tools 1" имеется небольшая группа кнопок с надписью "Group" над ней. Благодаря тому, что мы чуть выше выбрали автоматическое задание имен, у нас уже есть все группы, которые нам необходимы (Рис. 40).

Рис. 40. Имена групп вершин.

Даже если кости вида "IK" и "null" были помечены, как "Unskinnable", все равно для них создаются группы вершин. Но поскольку они нам не понядобятся, их можно смело удалить.

Теперь предстоит серьезная работа. Выберем группу с именем "ArmHi.R" с помощью списка на панели редактирования. Теперь, в 3D-окне, выделим все вершины, которые должны перемещаться вместе с этой костью "ArmHi.R" (Рис. 41).

Рис. 41. Группа вершин "ArmHi.R" (верхнее плечо)

Затем нажмем на кнопке "Assign" ("присвоить") в окне кнопок редактирования (Рис. 42). Это действие свяжет выделенные вершины с группой "ArmHi.R". Теперь эти вершины будут перемещаться вместе с одноименной костью "ArmHi.R".

Рис. 42. Присваивание вершин группе

Повторим все то же самое для остальных групп: выделим вершины и присвоим их соответствующим группам. Это утомительный процесс, требующий аккуратности. Не нужно беспокоиться, если несколько вершин присвоены по ошибке. Ненужные вершины нужно выделить и нажать кнопку "Remove" (удалить). Одну и ту же вершину можно присвоить нескольким групам. Например, вершины, находящиеся непосредственно вблизи суставов, желательно присваивать двум группам вершин. Вершины могут иметь различный показатель деформации. По умолчанию он равен единице, но можно добавить вершины с значением деформации 0.500 или меньше. Чем меньше этот показатель, тем меньше деформация вершины. Можно сделать деформацию равной 75% для одной кости и 25% для другой, а можно и 50% на 50%. Это значит, что для каждого конкретного случая нужно подбирать свои значения, наиболее удовлетворяющие поставленной задаче. Вообще говоря, если в меше все суставы находятся в полусогнутом положении (как в нашей руке), то хороший результат достигается и без применения отличных от единицы значений деформации. Главное правило моделирования персонажей состоит в том, чтобы модели ног и пальцев рук были полусогнутыми - это гарантирует их правильную деформацию.

Если все вершины присвоены своим группам и не сделано никаких ошибок, то у нас получится правильная рука с кистью. Выделив арматуру, включив режим позы и выделяя разные приводы ИК, можно проверить работу руки и пальцев (Рис. 43).

Рис. 43. Разные позы.

Нога

Настройка скелета ноги и ступни - возможно самая важная часть из всего процесса создания арматуры персонажа. Неправильная настройка ведет к эффекту "скользящей ноги", который способен испортить всю анимацию. Хорошая, полноценная настройка должна позволять ноге оставаться на "земле", когда "тело" уже движется, а также уметь ряд других вещей, например вставать на "цыпочки", шевелить пальцами ног и т.п. Ниже мы рассмотрим несколько настроек для разных ситуаций.

Рис. 44. Неправильная настройка ноги.

Вначале рассмотрим неправильную настройку ноги (Рис. 44).

Построим цепь из трех косточек - бедра, голени и ступни. Теперь поместим 3D-курсор туда, где находится пятка и добавим еще одну кость - привод для ИК. Затем добавим привязку "IK solver" для ступни, где в качестве цели укажем на последнюю созданную кость (Рис. 45).

Рис. 45 Привязка для обратной кинематики

Рис. 46. То, что получается в режиме позирования.

Прверим то, что вышло: в режиме позирования переместим привод ИК - кажется, все двигается, как надо. Теперь попробуем переместить бедро - оказывается, что ступня двигается вместе с ним, а это совсем не то, что нам нужно! (Рис. 46).

Как правило, при анимации тело делает множество движений. Кость бедра является потомком тела, и передвигается вместе с ним. Поэтому при каждом перемещении или повороте тела ступня также будет перемещаться, оказываясь либо под землей, либо над ней. Это приводит к ужасной картине, особенно при анимации ходьбы.

Рис. 47. Добавление пальцев ноги и еще одного привода ИК.

Быть может, этого можно избежать при помощи еще одного привода ИК на пальцах ноги (Рис. 47)? Давайте попробуем. Создадим новую арматуру - бедро, голень, ступню и пальцы. Добавим два привода ИК - один для ступни, а второй - для пальцев. Затем сделаем ИК-кость пальцев потомком ИК-кости ступни.

Note

ИК-кость пальцев сделана потомком ИК-кости ступни. Это значит, что она не должна являться потомком любой другой кости арматуры. Чтобы удалить отношения "предок-потомок", нужно выбрать пустую строку в списке меню "Child of:". Не забывайте соблюдать это правило в последующих примерах.

Рис. 48. Перемещение бедра.

Проверим что получилось - попробуем передвинуть бедро (Рис. 48). Что ж, теперь скольжение не так явно, как в прошлый раз, но достаточно, чтобы погубить анимацию.

Рис. 49. Применяем вспомогательную кость.

Создадим еще одну арматуру. Это будет цепочка из трех костей - бедра, голени и "нулевой" кости. Последняя - это маленькая кость, к которой мы добавим привод ИК. Теперь поместим 3D-курсор в пятке и добавим ступню. Затем добавим к "нулевой " косточке привязку "IK solver" с целевым объектом - костью ступни (Рис. 49). (В качестве привода ИК можно использовать и другую вспомогательную кость, задав для кости ступни привязку "copy location", нацеленную на эту вспомогательную кость ИК).

Рис. 50. Арматура со вспомогательной костью.

Проверим - теперь это работает! При перемещении бедра ступня остается неподвижной!!! (Рис. 50). Это здорово. Но все же недостаточно. Сдвинем бедро чуть выше. Вся цепочка поднимется, но ступня так и останется на земле. Это, разумеется, недостаток данной настройки, но ведь при анимации необязательно поднимать тело настолько высоко... :-)

Рис. 51. Добавление пальцев ноги

Снова создадим цепочку из трех костей - бедра, голени, и "нулевой" кости. Разместим 3D-курсор в пятке и создадим еще одну цепь из двух костей - ступни и пальцев. Добавим привод ИК для ступни (Рис. 51).

Проверим. Это хорошая настройка, с устойчивой независимой ступней и подвижными пальцами. Но в этой настройке все-таки невозможно встать на "цыпочки".

Рис. 52. Полностью завершенная настройка.

Рис. 53. Увеличенное изображение ступни.

Сделаем цепочку из трех костей - бедра, голени и "нулевой" кости (назовем ее LegNull) (Рис. 52). Начиная от пятки, сделаем вторую цепочку всего из двух костей - ступни (Foot) и маленькой "нулевой" косточки (FootNull). Поместим 3D-курсор в конце ступни и добавим кость пальцев (Toes). Из той же точки создадим кость ИК для пальцев (IK_toes). Теперь поместим курсор в пятке и добавим там другую кость ИК (IK_heel). И напоследок, примерно около пятки, добавим еще одну большую ИК-кость (IK_foot) (Рис. 53).

Теперь зададим привязки:

  • К кости "Toes" добавим привязку "copy location", нацеленную на кость "IK_toes".

  • К кости "FootNull" - привязку "IK solver" (цель - "IK_toes").

  • К "Foot" - привязку "copy location" (цель - "LegNull").

  • К "LegNull" - привязку "IK solver" (цель - "IK_heel").

Ну вот. Все проверим. Попробуем перемещать "IK_foot". Затем переместим вниз "IK_toes". Ступня поворачивается, но кажется, что пальцы не связаны с ней. Но если отнестись к анимации тщательно, то можно избежать ситуации, когда пальцы оторваны от ступни. Вернем арматуру в начальную позу. Выделим "IK_heel" и "LegHi" и поднимем их вверх. Теперь персонаж стоит на носках. Ступня вновь может отделиться от пальцев, но это легко исправить, выделив только "IK_heel" и сдвинув его немного вперед или назад. Эта настройка не самая простая для анимации, но дает больше возможностей, чем предыдущие варианты. Если персонаж не должен стоять на "цыпочках", то достаточно более простых вариантов настройки. Вообще говоря, совершенного варианта не бывает. Можно лишь приблизиться к нему, но все равно останутся какие-то недостатки.

Рис. 54. Проверяем настройки.

<<< Пред | След >>>
Привязки | Арматура для механизмов


Арматура для механизмов

Относится к Blender v2.31

Арматура также хорошо подходит для создания различных механизмов, например роботов, трансформеров и пр. (Рис. 55).

Рис. 55. Четыре ноги механического паука.

Вначале создадим меш для рук-клешней. Поскольку мы имеем дело не с органикой, а с механизмом, меш будет не цельным, а состоящим из нескольких «твердых» частей, «прикрученных» одна к другой.

Хотя на Рис. 55 показаны четыре клешни, каждая из которых имеет пять секций, понять все тонкости будет проще на простой модели шарнирной конечности.

Предлагается следующее: создадим «руку» из двух одинаковых секций и «предплечье», из одной секции. Обозначим цилиндрами «плечо» (слева), «локоть» (в центре) и «запястье» (справа) – см.Рис. 56.

Рис. 56. Модель «руки».

Остальные цилиндры в середине «руки» и «предплечья» обозначают места, к которым будут закреплены поршни.

Работать будет удобнее, если расположить оси взаимного вращения («плечо», «локоть», т.п.) точно на сетке. Вместо этого можно также пользоваться меню выравнивания.

Центральные оси

Теперь нужно связать центральные точки с механическими осями. Теоретически, их должно быть по одной в каждом шарнире и еще две, для каждого из гидравлических цилиндров. Для простоты оставим только две оси для поршней, сделав их в виде простых цилиндров (Рис. 57).

Рис. 57. Модель руки с осями.

Помните две вещи:

  • Очень важно, чтобы центр меша оси был точно посередине и совпадал с осью вращения поршня.

  • Каждая из осей должна стать потомком соответствующего меша руки.

Арматура

Настроим арматуру. Хватит всего двух «косточек» (Рис. 58).

Рис. 58. Модель руки с арматурой.

Для точной анимации движения, шарниры следует точно совместить с центральными осями (для этого чуть раньше и советовалось поместить оси точно по сетке, чтобы воспользоваться автоматическим выравниваением по ней).

Дадим «косточкам» правильные имена, например «Arm» и «Forearm» (от англ. «рука» и «предплечье» - прим. перев.). Сделаем арматуру предком меша «руки», выбрав при этом в меню опцию «Bone» и кость руки «Arm». То же самое сделаем с костью и мешем «предплечья».

Tip | Предок - «кость»
 | Назначение предком меша «кости» арматуры заставляет его перемещаться вместе с «костью» без деформации. Именно так двигается робот с негнущимися стальными конечностями.

Рис. 59. Модель руки в режиме позы.

Переключившись в режим позы, можно двигать нашей «рукой», поворачивая «кости» (Рис. 59). Также можно добавить привод ИК, способом, описанным в предыдущем параграфе.

Гидравлика

Рис. 60. Гидравлический цилиндр.

Сделаем поршень с двумя цилиндрами, один тоньше другого, имеющими что-то вроде головок для их связи со своими осями (Рис. 60).

Необходимо, чтобы центры обоих мешей совпадали с центрами их осей.

Разместим обе части поршня в правильном положении и назначим каждую из них потомками мешей соответствующих осей. (Рис. 61).

Рис. 61. Гидравлический цилиндр на «руке»

Теперь нужно повернуть оба цилиндра так, чтобы получился правильный неподвижный поршень. (Рис. 62, слева).

Рис. 62. Гидравлический цилиндр в режиме позирования.

Но если теперь переключиться в режим позирования и сдвинуть любую кость, то наш поршень «сложится» (Рис. 62, справа).

Чтобы поршень заработал правильно, нужно заставить каждую его половинку отслеживать меш оси противоположной половинки (но не самой половинки – это закольцует привязку). Поэтому так важно положение центров всех мешей (Рис. 63).

Рис. 63. Гидравлический цилиндр со взаимным отслеживанием поршней

Выделим половинку поршня, затем выделим меш оси противоположной половинки, и в панели контекстных кнопок (F7), на вкладке «Constraints», добавим привязку вида «Track To». Следует также включить нужные кнопки X, Y... внизу вкладки (Рис. 64).

Рис. 64 Настройка отслеживания.

Note

Если вы предпочитаете старый способ отслеживания (Old Track), для лучшего результата следует включить опцию «PowerTrack» в панели «Anim Setting».

Теперь, в режиме позирования, цилиндр будет сжиматься и разжиматься, словно реальный (Рис. 65).

Рис. 65. Режим позирования руки с гидравликой

Так как гидравлические поршни приводятся в действие сжатым маслом, для получения точной модели нам нужно добавить к ней шланги. Как же соединить деформируемой трубкой руку и цилиндр, которые взаимно вращаются? Здесь необходим привод ИК!

Рис. 66. Добавляем гибкую трубку

Вначале создадим меш в форме трубки, которую мы хотим (Рис. 66).

Лично я предпочитаю рисовать трубку в ее согнутом положении при помощи кривой с заданным сечением. Для этого добавляем кривую и окружносте Безье, и указываем окружность как «BevOb» для кривой. Для того, чтобы полученный объект мог деформироваться арматурой, преобразуем его в меш (ALT-C).

Рис. 67. Добавляем к трубке арматуру.

Затем добавим арматуру. Достаточно пары костей. Арматура должна быть направлена от фиксированного конца трубки к её подвижному краю. Добавим третью кость для привода ИК (Рис. 67).

Нужно сделать арматуру потомком того объекта, к которому «приделана» трубка. В нашем случае это – рука робота. Также добавим «пустой» объект к подвижному концу трубки (Рис. 68).

Рис. 68. «Пустой» объект для инверсной кинематики.

Рис. 69. Привязка инверсной кинематики

Сделаем «пустой» объект потомком подвижной части модели. В нашем случае это внешняя часть поршня, к которой закреплен подвижный конец трубки. В режиме позирования откроем панель контекстных кнопок и вкладку привязок «Constraints». Выделим самую последнюю кость, ту что начинается из конца трубки, и добавим к ней привязку. Укажем тип привязки: «IK solver», а в качестве цели укажем созданный «пустой» объект (Рис. 69). Можно также подобрать параметры «Tolerance:» и «Iterations:».

И, наконец, сделаем трубку потомком арматуры, указав опцию «Armature». Создадим необходимые группы вершин. Теперь, в режиме позирования, при перемещении половинок цилиндра будет перемещаться и «пустой» объект, заставляя работать инверсную кинематику арматуры, и деформируя трубку (Рис. 69).

Рис. 70. Полностью оснащенная рука робота в режиме позирования.

Note

В качестве цели для привода ИК можно использовать не только «пустой» объект, но и кость арматуры, однако в этом случае её нельзя будет сделать потомком движуегося объекта. Хотя и в этом случае можно будет использовать привязку вида «Copy Location», но это не так просто, поскольку конец арматуры будет помещен в центре движущегося объекта, который находится не в том месте, которое нам нужно.

<<< Пред | След >>>
Арматура для конечностей | Нелинейная анимация ходьбы


Нелинейная анимация ходьбы

Автор: Claudio 'Malefico' Andaur

Относится к Blender v2.31

В этом учебнике мы создадим цикл ходьбы и используем его с опцией «Path» в редакторе нелинейной анимации. Для того чтобы понимать текст, вы должны иметь базовые знания об инструментах анимации; также для успешного результата стоит запастись терпением. Настоятельно рекомендуем прочесть предыдущие разделы документации, относящиеся к нелинейной анимации.

Мы создадим персонажа вроде того, что описан в главе «Анимация конечностей», у которого косточки ступни отделены от остальной ноги и используется дополнительная кость для привязки привода ИК. Более подробно об этом можно прочитать в той самой главе.

Когда персонаж готов и настроен, нужно создать для него следующие действия: "WALKCYCLE" (ходьба), "WAVE_HAND" (движения рук) и "STAND_STILL" (неподвижный). В действиях «ходьба» и «неподвижный» ключевые кадры будут заданы почти для всех косточек, а в «движении рук» - только ключевые кадры для костей рук. Это позволит нашему персонажу размахивать руками при ходьбе.

Для этого удобно отработать каждое движение по отдельности, а затем объединить все в редакторе нелинейной анимации.

Путь к успеху

Существует два основных способа анимации ходьбы: либо действительно перемещать персонаж, меняя позы, либо заставить персонаж «ходить» на месте, не перемещая его.

Последний вариант, несмотря на то, что он несколько сложен в реализации, лучше всего подходит для компьютерной анимации; его мы и будем изучать ниже.

Весь цикл ходьбы будет задан действием для арматуры, поэтому мы создадим новое действие и переключимся в режим позирования, для создания самой первой позы – т.н. «касание» (Рис. 71).

Рис. 71. Несколько основных поз при ходьбе.

Note

При настройке арматуры для ходьбы нужно помнить несколько вещей. Задание имен звеньям арматуры по правилам, перечисленным в главе «Арматурный объект» позволит вставлять отраженные позы. Кроме того, перед тем, как сделать объект потомком арматуры, нужно убедиться, что локальные оси объекта совпадают с глобальными осями, выделив объект и нажав CTRL-SHIFT-A.

Чтобы заставить модель «ходить», достаточно анимировать всего несколько основных косточек. В данном случае для анимации ноги достаточно анимировать движение ступни, все остальные кости будет двигать система обратной кинематики; она сделает это лучше нас. Обеспечить перемещение на фиксированные значения позволяет опция «Grab Grid» в окне настроек Блендера, при этом, если необходимо, можно изменить шаг сетки.

Кости, для которых не задаются ключевые кадры, лучше скрыть (командой H в режиме позы или кнопкой Hide в режиме редактирования). Это позволит лучше видеть модель во время анимации и облегчит задачу.

Обычно ходьба состоит из четырех поз, известных как «касание», «отдача», «проход» и «высшая точка» (соответственно «Contact», «Recoil», «Passing» и «High point» на Рис. 71).

Наиболее важна поза касания. Большинство аниматоров считают, что анимацию ходьбы следует начинать с правильной установки этой позы. Здесь персонаж накрывает самую широкую за весь цикл ходьбы область. В позе отдачи персонаж в самой низкой точке, весь его вес перенесен на одну ногу. В позе «высшей точки» персонаж находится в самой высокой позиции, хотя и наклоняется, падая вперед. Поза «проход» - промежуточная между отдачей и высшей точкой.

Порядок работы примерно такой:

  1. В первом кадре установим модель в позу касания.

  2. Вставим ключевые кадры для управляющих косточек арматуры (те, что мы перемещаем вручную, как правило это приводы ИК).

  3. Не снимая с них выделения, жмем кнопку "Copy Pose" («копировать позу»). Теперь вся информация о положении костей хранится в памяти.

  4. Переходим на несколько кадров вперед и жмем "Paste Flip Pose" («вставить отраженную позу»). Будет вставлена отраженная поза, то есть если в начальной позе впереди была левая нога, то сейчас впереди будет правая, и наоборот.

  5. Теперь снова выделяем управляющие кости и вставляем для них ключевые кадры.

  6. Снова переходим на несколько кадров вперед (рекомендуется использовать одно и то же количество кадров каждый раз, например 10) и нажимаем "Paste Pose" («вставить позу»), при этом вставится первоначальная поза, которая и завершит цикл. Так мы получим ходьбу в стиле Майкла Джексона, то есть наш персонаж не будет отрывать ног от земли.

  7. Для того, чтобы это исправить, перейдем в промежуточную позицию между первой и второй позами, и установим ступню в позу отдачи («Recoil» на Рис. 71), при этом туловище персонажа будет в самом низком положении.

  8. Вставить ключевые кадры и скопировать позу.

  9. Перейдем в промежуточную позицию между двумя последними позами и вставим отраженную позу. Вставим ключевые кадры и на этом закончим.

Tip

Если, вопреки ожиданиям, меш оказался искажен, не паникуйте. Перейдите в режим редактирования арматуры, выделите все кости и нажмите CTRL-N. При этом будут повторно будут пересчитаны направления поворотов костей, вызывающих скручивание меша.

Следует повторить описанную последовательность действий для всех поз, которые будут использованы в цикле ходьбы. Обычно я использую позы касания, отдачи и высшей точки, позволяя Блендеру самому вычислить позу прохождения.

Рис. 72. Для облегчения работы используем кнопки копирования, вставки и отраженной вставки.

Теперь, если нажать ALT-A, мы увидим, что персонаж шагает вполне натурально.

Будет очень полезно сосчитать (по клеткам, между ногами персонажа в позе 1), сколько единиц Блендера занимает каждый шаг. Назовем эту величину «ШАГ», она нам потребуется чуть позже в окне нелинейной анимации.

Теперь заставим персонажа перемещаться по сцене.

Вначале отключим от арматуры действие с ходьбой, так, чтобы ничего не перемещалось при нажатии ALT-A. Для этого достаточно нажать маленькую кнопку с крестиком напротив имени действия в окне действий.

Затем создадим объект «PATH» (путь), лежащий на плоскости, стараясь не делать его слишком кривым (чем прямее, тем лучше), и затем сделаем арматуру персонажа его потомком (используя обычное наследование, а не «Follow Path»!). Если все сделано правильно, то при нажатии ALT-A персонаж будет «ехать» вдоль пути.

Теперь перейдем в окно нелинейной анимации и добавим в канал действие ходьбы как полосу нелинейной анимации. Выделив эту полосу, нажмем N и затем кнопку «Use Path».

Note

Вставлять действия в окно НЛА удобно, когда ни одно действие не активно для данной арматуры, иначе вместо полосы нелинейной анимации мы увидим индивидуальные ключевые кадры данного действия в канале арматуры, которые перекроют собой все ранее добавленные полосы. Если действие было добавлено именно так, его можно преобразовать в полосу НЛА, нажав C.

Рис. 73. Приятная прогулка

Если теперь запустить анимацию, может произойти кое-что забавное, из-за того, что мы не установили параметр Stride.

Это значение, измеряемое в единицах Блендера, и равное расстоянию, которое персонаж покрывает за один шаг; важно определить его как можно точнее. Вычисленное значение нужно ввести в поле Stride, которое появляется при нажатии N в окне НЛА, для выделенной полосы.

Если все значения подобраны правильно, то наш персонаж не должен «проскальзывать», идя вдоль пути.

Один из способов определить это значение – посчитать клетки между носками ног персонажа в позе 1. Это значение нужно умножить на 2 и на масштаб сетки (обычно 1 клетка равна одной единице Блендера, но не обязательно; так, в этом примере единица равна двум клеткам).

В этом примере 7,5 квадратиков, так как масштаб клетки равен единице, то: STRIDE = 7.5 x 1.0 x 2 = 15

Рис. 74. Оценка параметра «STRIDE» (шаг). При необходимости можно «подогнать» сетку.

Скорее всего, мы захотим, чтобы наш персонаж шагал быстрее, медленнее, или совсем остановился. Это можно сделать, отредактировав кривую скорости пути.

Выделим путь и откроем окно IPO. Там мы увидим кривую скорости (Speed), лежащую в диапазоне от 0 до 1 по вертикали (ось Y) и от первого кадра до последнего по оси X. Координата Y обозначает относительное положение дочерних объектов на пути, а наклон кривой – их скорость. Добавим в режиме редактирования две точки с одинаковой высотой. Полученный ровный участок означает, что между кадрами 40 и 60 (на рисунке) движение будет приостановлено.

При этом возникнет проблема, связанная с остановкой персонажа: он «застынет» в некоторой позе, с одной ногой на земле, а другой – в воздухе.

Рис. 75. Остановка для отдыха

Для решения проблемы используем окно НЛА. Все, что нужно сделать – это добавить действие "STAND_STILL" (неподвижность), которое описывает то, как персонаж стоит. Я задал это действие при помощи всего одного ключевого кадра, удалив все перемещения и повороты костей (см. раздел «Режим позирования»), и затем сдвинув пару косточек, чтобы получилась поза «отдыха».

Так как пауза длится между кадрами 78 и 112, мы должны вставить действие «отдыха» точно в этот диапазон. Чтобы не возникало резкого перехода между действиями, нужно использовать опции BlendIn и BlendOut (при помощи N-диалога), устанавливающие число кадров, в течение которых действия будут смешиваться, плавно перетекая из одного в другое, придавая движению естественность. При этом действие нужно начинать на BlendIn кадров раньше, а заканчивать на BlendOut позже, так как во время изменения позы персонаж должен еще двигаться.

Таким же способом можно комбинировать различные виды ходьбы, например чтобы переключить персонаж с ходьбы на бег на «быстром» участке пути.

Во всех этих ситуациях мы должны помнить, что эффекты от более новой полосы накладываются на предыдущие, поэтому действия ходьбы и остановки должны следовать одно за другим.

Движения рук при ходьбе

Для вставки действия нужно в окне НЛА поместить курсор мыши над каналом арматуры и нажать SHIFT-A. При этом появится меню со списком всех доступных действий. Если не поместить курсор мыши над каналом арматуры, то вместо меню возникнет сообщение об ошибке: «ERROR: Not an armature» («Ошибка: не указана арматура»)

Следуя сказанному, поместим указатель над полоской арматуры, нажмем SHIFT-A и добавим действие "WAVE_HAND" («движения руками»).

Так, как это действие означает всего лишь взмах руки в какой-то момент ходьбы, мы не будем использовать для него опцию "Use Path", а просто сдвинем во времени так, чтобы перекрыть им ключевые кадры движения рук из действия ходьбы. Поместим указатель над полосой и нажмем N, или просто перетащим и растянем полосу так как необходимо.

Рис. 76. Привет, ребята!

Так, как это действие вычисляется в последнюю очередь (помните, что Блендер выполняет действия из окна НЛА сверху вниз), оно перекроет собой все ключевые кадры, определенные раньше для костей, участвующих в нем.

Кажется, рассказать о НЛА и арматуре больше нечего. Пришло время экспериментировать и затем показать всему миру то, что у вас получилось. Дам последний совет: ключевые кадры можно редактировать в окне НЛА. Можно дублировать кадры (SHIFT-D), двигать их (G) и удалять (X), но при удалении следует быть осторожным, так как удаленные ключевые кадры навсегда пропадут из текущего выделенного действия. Поэтому перед тем, как что-то удалить, лучше преобразовать это в полосу нелинейной анимации.

<<< Пред | След >>>
Арматура для механизмов | Рендеринг


Рендеринг

Документация Blender'а Том I - Руководство Пользователя
<<< Пред След >>>

Рендеринг (визуализация)

перевод: Sailor

Относится к Blender v2.31

Рендеринг (визуализация) это финальный процесс в компьютерной графике (CG) (если не считать постобработку), во время которого создается картинка в соответствии с вашей 3D-сценой .

Кнопки управления рендерингом находятся в контексте Scene, под-контекст Render (F10 или кнопка [image] ). Панели и кнопки рендеринга показаны на Рис 1.

Рис 1. Кнопки управления рендерингом.

Рендеринг текущей сцены осуществляется нажатием большой кнопки RENDER , на панели Render, или клавишей F12. Результат рендеринга сохраняется в буфере и отображается в собственном окне. После чего результат может быть сохранен нажатием F3 или через меню File>>Save Image.

При рендеринге, картинка формируется с размерами установленными на панели Format (Рис 2).

Рис 2. Тип и размеры картинки.

По умолчанию, параметры SizeX и SizeY установлены на 320x256 и могут быть изменены в любой момент с помощю цифровых кнопок. Две кнопки ниже определяют соотношение размеров сторон пиксела картинки. Это пропорция между размером X и Y для пикселах. По умолчанию 1:1, так как пиксел компьютерного экрана квадратный, но эти значения могут быть и другими, если изображение готовится для телевидения (TV), т.к. пиксел на телевидении не квадратный. Чтобы облегчить вам жизнь, есть несколько преднастроенных параметров, в виде блока кнопок справа (Рис 3) :

Рис 3. Кнопки преднастроенных размеров картинки.

  • PAL 720x576 пикселов при соотношении размеров 54:51.

  • NTSC 720x480 пикселов при соотношении размеров 10:11.

  • Default Тоже что и PAL, но со всеми опциями TV, как описано в следующем разделе.

  • Preview 640x512 при соотношении 1:1. Эта настройка автоматом понижает размер картинки на 50%, чтобы эффективно создать картику 320x256.

  • PC 640x480 при соотношении размеров 1:1.

  • PAL 16:9 720x576 при соотношении 64:45, для широкоформатного TV 16:9.

  • PANO Стандартные панорамные настройки 576x176 при соотношении 115:100. Больше информации о 'панорамном' рендеринге в соответствующем разделе.

  • FULL 1280x1024 при соотношении размеров 1:1.

Рендеринг по частям

Относится к Blender v2.31

Есть возможность рендерить картинку не сразу целиком, а по частям, одну за другой. Это очень удобно, когда сцена очень сложная. Сцена рендерится маленькими частями, одна за другой, при этом потребляет меньше ресурсов.

При установке в цифровых кнопках Xpart и Ypart (панель Render (Рис 4) значения отличающегося от 1, вы заставите Blender разделить вашу картинку на Xpart раз Ypart подкартинок, которые отрендерятся одна за другой и в конце будут собраны в одну целую картинку.

Рис 4. Кнопки для настройки рендеринга по частям.

Note

Blender не может использовать более чем 64 части.

<<< Пред | След >>>
How to setup a walkcycle using NLA | Панорамный рендеринг


Панорамный рендеринг

Относится к Blender v2.31

Blender предоставляет автоматический процесс, для получения хорошего панорамного рендеринга, аж до 360° по горизонту.

Если параметр Xparts более чем 1 и кнопка Pano на панели Render нажата (Рис 5), тогда каринка будет рендерится разбиваясь на количество раз Xparts и с размерами SizeX по ширине и SizeY по высоте, при этом, камера будет поворачиваться на необходимый угол, для получения безшовного, цельного изображения.

Рис 5. Кнопка панораминга.

На Рис 6 показана сцена с 12 сферами расположенными вокруг камеры. Если отрендерить сцену, оставляя камеру как есть, мы получим картинку как на Рис 7. Но если установить значение Xparts на 3 и нажать кнопку Pano, то результатом будет картинка в три раза шире, т.е. камера сделает ещё полный снимок справа и полный слева (Рис 8).

Рис 6. Сцена для теста.

Чтобы получить что-то подобное без опции Pano, есть единственный способ - это понизить фокусное расстояние камеры. На пример, Рис 9 показывает вид, полученный с фокусным расстоянием 7.0, который эквивалентен линзе с очень широким углом или fish-eye ("рыбий глаз" - широкоугольный объектив). Как видите, искажение очень заметно.

Рис 7. Обычный рендеринг.

Рис 8. Панорамный рендеринг.

Рис 9. Рендеринг с эффектом Fish-eye.

Чтобы получить полный обзор в 360°, необходимы некоторые тонкие настройки. Известно, что фокусное расстояние 16.0 соответствует углу обзора в 90°. Следовательно панорамный рендеринг с параметром Xparts 4 и фокусом линзы 16.0, выдаст полный обзор в 360°, как показано на Рис 10. В результате получится искаженный вид, т. к. линза с фокусом 16.0, это линза с очень широким углом обзора.

Рис 10. Полная 360° панорама с фокусом 16.0.

Для получения не искаженного вида, необходимо установить фокусное расстояние камеры на 35.0. На Рис 11 показан результат панорамного рендеринга с Xparts - 8 и с фокусом камеры 38.5, что соответствует 45°-ному углу обзора.

Рис 11. Полная 360° панорама с фокусом 38.5.

Изображение гораздо меньше искажено, но особое внимание нужно уделить пропорциям. Оригинальная картинка 320x256 пикселов. Панорамное изображение, как на Рис 10 , будет равно по ширене 4 x 320. Чтобы сохранить картинке оригинальные размеры ширины после панорамного рендеринга, нужно параметр картинки SizeX установить на 160 , т.к. 8 x 160 = 4 x 320.

<<< Пред | След >>>
Рендеринг | Антиалиасинг (сглаживание)


Антиалиасинг

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Рендеринг След >>>

Антиалиасинг (сглаживание)

Относится к Blender v2.31

Каждая компьютерная картинка состоит из пикселей, каждый пиксел может быть только одного цвета. Поэтому, в процессе рендеринга, движок визуализации должен назначить каждому пикселу один цвет, соответствующий цвету, в котором отображен объект.

Очень часто это приводит к невзрачным результатам, особенно там где есть тонкие линии или точные границы, и особенно это очевидно для наклонных линий.

Чтобы решить эту проблему, называемую Aliasing ("ступеньки"), необходимо прибегнуть к технике Anti-Aliasing (Анти-алиасинг, сглаживание). Основа этой техники в том, что каждый пиксел 'разбивается' на несколько образцов (sample, сэмпл ), и рендерится как будто это не один, а 5 или более пикселов, а цвет пикселу присваевается по среднему значению соседних пикселов.

Кнопки управления Анти-алиасингом, или оверсэмплингом - OverSAmple (OSA), находятся на панели Render, ниже кнопки RENDER (Рис 12). Анти-алиасинг активируется кнопкой OSA, а уровень (количество сэмплов или образцов) устанавливается кнопками от 5 до16.

Рис 12. Кнопки OSA .

Blender использует систему рендеринга Delta Accumulation, с флуктуационной выборкой. Значение OSA (5, 8, 11, 16) это количество образцов (сэмплов); высокое значение дает более гладкие края, но увеличивает время рендеринга.

Рис 13 показывает отрендеренную каринку с выключенной опцией OSA, и OSA со значениями 5 или 8 (образцов, сэмплов).

Рис 13. Рендеринг без включенного OSA (слева), с OSA=5 (в центре) и OSA=8 - рекомендуемое значение (справа).

<<< Пред | След >>>
Панорамный рендеринг | Выходные форматы


Выходные форматы

Относится к Blender v2.31

Сохраненный файл имеет формат, который установлен кнопкой с выпадающим меню, на панели Format. Здесь, вы можете выбрать разные форматы для картинок и анимации (Рис 14).

Рис 14. Форматы для картинок и анимации.

Тип картинки по умолчанию Targa (*.tga), но, после того как сцена отрендерена и сохранена в буфере и затем на диске, вы можете изменить формат картинки используя соотвествующее меню. без повторного рендеринга.

По умолчанию, Blender рендерит цветную картинку в RGB -формате, но возможно получить черно-белое изображение (BW) и цветное с Alpha-каналом (RGBA).

Будьте внимательны, Blender не добавляет автоматически расширение для файла, поэтому любые расширения будь-то .tga или .png, должны быть добавлены вручную в окне сохранения.

Кроме формата Jpeg, который выдает сжатие с потерями, все другие форматы более или менее похожи. Вообще, не рекомендуется использовать Jpeg, так как он имеет большие потери в качестве. Лучше использовать Targa и затем конвертировать его в Jpeg, на пример для публикаций в Web, при этом сохраняя оригинал Targa.

Что касается других форматов: TARGA raw это несжатый Targa, занимает много места на диске. PNG это Portable Network Graphics (Портативная Сетевая Графика), стандартно заменяет старый GIF, так как не имеет потерь в качестве и поддерживает 32-битные цветные изображения. HamX - это 8 битный саморазработанный формат RLE ; он создает чрезвычайно компактные файлы, которые могут быть быстро отображены. Используется только для опции "Play". Iris это стандартный формат SGI, а Iris + Zbuffer это тоже самое, но с добавлением информации Z-буфера.

И наконец, Ftype . Использование файла "Ftype", указывает, что этот файл служит как пример для типа графического формата, в котором Blender должен сохранить картинку. Этот метод позволяет производить форматы 'цветовой карты'. Данные цветовой карты считываются и используются для преобразования доступной 24 или 32-битовой графики. Если задействована опция "RGBA", стандартное число цвета '0', то этот цвет используется как прозрачный. Blender читает и записывает цветовые карты в фпормате (Amiga) IFF, Targa, (SGI) Iris и CDi RLE .

Что касается анимации:

  • AVI Raw - сохраняет кадры в AVI-формате, без компрессии, без потерь, но файл имеет огромный размер.

  • AVI Jpeg - сохраняет кадры в AVI-формате, как серию Jpeg-картинок. С потерями в качестве, маленький размер файла. Кроме того, формат AVI Jpeg по умолчанию не читается некоторыми видеоплеерами.

  • AVI Codec - сохраняет сжатые кодеком кадры в AVI-формате. Blender автоматически получает список всех доступных в ОС кодеков и позволяет вам их настроить. Вы можете при необходимости менять тип кодека и его настройки, обратившись к кнопке Set Codec (Рис 15).

Рис 15. Настройка кодека для AVI.

Для AVI анимации, вы можете установить частоту кадров (Рис 15) , который по умолчанию равен 25 кадров в секунду.

<<< Пред | След >>>
Антиалиасинг (сглаживание) | Рендеринг анимации


Рендеринг анимации

Относится к Blender v2.31

Управление рендерингом анимации осуществляется с помощью панели Anim (Рис 16).

Рис 16. Кнопки анимации.

Кнопка ANIM запускает процесс рендеринга анимации. Первый и последний кадр анимации устанавливаются с помощью цифровых кнопок снизу (Sta: and End:), по умолчанию установлено 1 и 250.

По умолчанию рендерится 3D-сцена, а для того чтобы задействовать Редактор последовательности (sequence editor), нужно нажать кнопку Do Sequence.

По умолчанию, отрендеренный файл анимации ложится в директорию указанную на панели Output (Рис 17). Если вы выбрали AVI-формат, то имя файла будет в таком вот формате ####_####.avi , где '####' цифры указывающие начало и конец анимации.

Рис 17. Расположение файла анимации и расширение.

Если вы выбрали формат картинки, то в указанной директории будут создана серия картинок с названием ####, (где '####' номер кадра). Если необходимо указать расширение файла, то необходимо нажать кнопку Extensions (Рис 17).

Tip Комплексная анимация

Если ваша анимация действительно проста и вы ожидаете что процесс рендеринга займет тридцать минут или меньше, то очень хорошей идеей будет отрендерить анимацию как отдельные кадры в формате Targa (*.tga), это лучше чем сразу создавать AVI-файл.

Этот способ позволит вам легко востановить процесс рендеринга, если вдруг отключится питание или произойдет еще какой-нибудь сбой и вам нужно будет начать рендеринг заново, файлы которые уже были созданы до сбоя остануться на своем месте.

Это также выгодно, когда вы только что начали рендеринг и вдруг обнаружили ошибку, вы можете заново перерендерить только нужные вам кадры.

Потом вы можете собрать AVI-файл из отдельных кадров с помощью встроенного в Blender Редактора последовательности (sequence editor) или с помощью какой-нибудь другой сторонней программы.

<<< Пред | След >>>
Выходные форматы | Размытость движением (Motion Blur)


Размытость движением (Motion Blur)

Относится к Blender v2.31

Blender по умолчанию, рендерит анимацию как серию последовательных отдельных картинок.

Это не реалистично, так как быстро двигающийся объект размывается своим собственным движением, как в кино, так и на фотографии.

Чтобы получить такой эффект размытости, Blender рендерит текущий кадр и еще несколько кадров между реальными кадрами и затем соединяет их вместе, где быстрое движение становится "смазанным".

Рис 18. Кнопки управления размытостью (Motion Blur).

Чтобы включить этот эффект, нажмите кнопку MBLUR, рядом с кнопкой OSA, на панели Render (Рис 18). Это заставляет Blender рендерить 'промежуточные' кадры столько раз, сколько установлено в кнопках оверсэмплинга (антиалиасинг, сглаживание) (5, 8, 11 или 16), затем собирает их один за другим, в один кадр. Цифровая кнопка Bf: или "фактор размывания", определяет продолжительность открытия "фотозатвора", это будет показано на примере ниже. Включение кнопки OSA не является обязательным, так как процесс размытия в движении добавляет некий антиалиасинг в любом случае, но чтобы получить более сглаженное изображение, необходимо все же включить кнопку OSA. Это добавит антиалиасинг в каждый собранный кадр.

Для лучшего понятия этой концепции, давайте предположим что у нас есть куб, который равномерно перемещается вправо с каждым кадром на 1 Blender-единицу. Это действительно быстро, особенно если сам куб имеет размер стороны в 2 Blender-единицы.

Рис 19 показывает результат рендеринга 1 кадра, без включенного Motion Blur, Рис 20 показывает результат кадра 2. Шкала снизу необходима для лучшего восприятия движения на 1 Blender-единицу.

Рис 19. Кадр 1 двигающегося куба без motion blur.

Рис 20. Кадр 2 двигающегося куба без motion blur.

На Рис 21 показан результат рендеринга 1 кадра, где включен Motion Blur и установлено 8 'промежуточных' кадров. Bf установлен на 0.5; это означает что 8 'промежуточных' кадров вычисляются в течении 0.5 кадра, начиная с кадра 1. Это очень очевидно, так как полная 'размытость' куба происходит на пол-единицы перед и пол-единицы после основного тела куба.

Рис 21. Кадр 1 двигающегося куба с motion blur, OSA=8 и Bf=0.5.

Рис 22 и Рис 23 показывают результат эффекта с повышенным значением Bf. Значение Bf более чем 1 поразумевает 'медленный' затвор фотообъектива.

Рис 22. Кадр 1 двигающегося куба с motion blur, OSA=8 и Bf=1.0.

Рис 23. Кадр 1 двигающегося куба с motion blur, OSA=8 и Bf=3.0.

Более лучшие результаты можно получить установив 11 или 16 сэмплов, вместо 8, но, тогда понадобится рендерить на много больше отдельных сэмплов для Motion Blur и это займет на много больше времени, чем при обычном рендеринге, без Motion Blur.

Tip Улучшенный антиалиасинг (сглаживание)

Если эффект Motion Blur включен (кнопка MBLUR), и даже если в сцене нет движения, Blender обычно немного 'встряхивает' камеру между 'промежуточным' и следующим кадром. Это означает, что даже если кнопка OSA выключена, картинка получится с хорошим антиалиасином. Антиалиасинг с MBLUR имеет такой же уровень что и с OSA, но обычно медленнее.

Это интересно для очень сложных сцен, где параметр 16 для OSA не дает удовлетворительных результатов, лучние результаты можно получить, используя одновременно OSA и Motion Blur. Таким образом вы получите больше сэмплов на кадр, что даст более эффективный антиалиасинг (сглаживание) на уровне 25,64,121,256, если выбраны значения для OSA 5,8,11,16, соответственно.

<<< Пред | След >>>
Рендеринг анимации | Глубина резкости пространства (Depth of Field)


Глубина резкости пространства

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Рендеринг След >>>

Глубина резкости пространства (Depth of Field)

Относится к Blender v2.31

Глубина резкости пространства или Depth of Field (далее просто DoF), это интересный эффект в реальном мире фотографии, который добавляет реалистичности к картинкам сделанным на ПК. Этот эффект еще часто называют Focal Blur (размытый фокус).

Это явление вызвано тем, что настоящая камера может сфокусироваться на подобъекте на данную дистанцию, таким образом, объекты которые расположены ближе и дальше от камеры будут за пределами фокальной плоскости и в результате будут немного размыты.

Степень размытия самых близких и самых дальних объектов, зависит от фокусного расстояния и апертурным размером линзы, а умелое использование камеры, может давать очень хорошие эффекты.

Рендер Blender'а не предоставляет возможности получить этот эффект DoF автоматически, но, есть два альтернативных способа. Первый способ использует только внутренние возможности Blender'а и будет описан в этой главе. Второй способ основан на использовании внешнего плагина и будет описан в главе "Редактор последовательности" (Sequence Editor).

Получение эффекта DoF в Blender основывается на продвинутом использовании эффекта Motion Blur (Размытость движением), который был описан ранее. Этот способ заставляет двигаться камеру по окружности, как будто это апертура линзы настоящей камеры и постоянно "смотрит" в одну точку, где будет наилучшая фокусировка.

Представим себе, что у вас есть сцена с расположенными в ряд сферами, как на рисунке Рис 24 слева. Обычный рендеринг даст результат как на Рис 24 справа, где все сферы отображены с отличной резкостью.

Рис 24. Тестовая сцена для DoF.

Первым делом расположите объект Empty (SPACE>>Add>>Empty), там где будет наилучший фокус. В нашем случае это центр средней сферы (Рис 25).

Рис 25. Установка фокуса.

Теперь, представьте что ваша камера уже нажодится в нужной позиции, расположите 3D-курсор на камеру (выберите камеру и SHIFT-S>>Curs->Sel) и добавьте NURBS-кольцо (SPACE>>ADD>>Curve>>NURBS Circle).

Выйдите из режима редактирования (TAB) и отмаштабируйте кольцо. Размер условный и вы наверняка захотите изменить его позже, чтобы получить приемлемый результат. По существу, размер кольца это как бы размер апертуры или диафрагмы вашей настоящей камеры. Большой размер кольца сильнее "размоет" дальние и близлежащие объекты, а маленький даст меньший эффеки размытия DoF.

Теперь, с помощью constraint (ограничение, привязка) заставьте кольцо следить за Empty как на Рис 26. Вам необходимо правильно настроить слежение, так, чтобы локальная ось z кольца указывала на Еmpty , а кольцо было ортогонально линии, которая соединяет его центр с центром Empty.

Рис 26. Настройка слежения NURBS-кольца за Empty.

Выберите камеру, а затем кольцо и привяжите камеру к кольцу, способом "родитель-ребенок" (рarent) (CTRL-P). Кольцо будет для камеры как путь, поэтому вы можете привязать обычным способом камеру - Normal Parenr, а затем нажать кнопку CurvePath или использовать Follow Path.

Выберите кольцо, откройте окно IPO и установите тип IPO как Path (путь). Для IPO доступным будет только 'Speed' (скорость). Дважды кликните CTRL-ЛКМ в разных местах IPO-окна, чтобы добавить две точки. Теперь установите точную позицию для этих точек, используя окно, которое вызывается N, установите Xmin и Ymin на 0, Xmax и Ymax на 1. И в завершении редактирования IPO, установите циклический режим работы для IPO, через меню Curve>>Extend Mode>>Cyclic. Результат будет как на Рис 27.

Рис 27. Speed IPO для кольца(пути) NURBS.

Таким образом, мы заставили камеру двигаться по кольцу - один оборот за один кадр. С использованием эффекта Motion Blur, сцена будет иметь слегка разный вид и в результате получится эффект Focal Blur (глубина резкости пространства).

Теперь осталась еще одна деталь. Сначала выберите камеру, а затем Empty и заставьте камеру следить за Empty, способом описанным выше (constraint). теперь камера должна следить за Empty, как на Рис 28.

Рис 28. Камера следит за Empty.

Если вы нажмете сейчас ALT-A , вы не увидите никакого движения, потому что камера делает один проход по кольцу (по пути) за один кадр, поэтому кажеться что все стоит на месте. Тем не менее, движок Мotion Blur улавливает это движение.

И в завершении, нужно зайти в окно управления рендерингом (F10) и нажать кнопку MBLUR. Скорее всего, вам не нужно активировать кнопку OSA, так как эффект Motion Blur также создает антиалиасинг. Настоятельно рекомендуется установить фактор Motion Blur на 1, таким образом размытие картинки будет происходить ровно за один кадр. Для лучших результатов, необходимо также установить уровень оверсэмплинга (OSA, антиалиасинг, сглаживание) на максимум - 16 (Рис 29).

Рис 29. Настройки Motion blur.

Рендеринг (F12) даст желаемый результат. Этот процесс займет на много больше времени, чем обычный рендеринг, без DoF, так как Blender будет рендерить 16 картинок и затем сложит их в одну. Рис 30 показывает результат, который можно сравнить с Рис 24. Необходимо заметить что размер кольца можно меньшать или увеличивать, чтобы получить результат как на скриншоте. Последний был сделан с большим радиусом кольца (равным 0.5 Blender-единицам), чтобы лучше продемонстрировать эту методику. С другой стороны, на Рис 30 кольцо имеет размер 0.06 Blender-единиц.

Рис 30. Заключительный рендеринг с Motion blur.

Это очень интересный прием и с его помощью можно легко получать картинки с малым размытием DoF. Большую степень размытия ограничивает тот факт, что нет возможности установить уровень оверсэмплинга более чем 16.

<<< Пред | След >>>
Размытость движением (Motion Blur) | Мультяшная обводка (Cartoon Edges)


Мультяшная обводка (Cartoon Edges)

Относится к Blender v2.31

Материал Blender'а, начиная с версии 2.28, содержит класные шейдеры для эмуляции рисованных (как в мультиках) объектов.

Используя эти шейдеры, вы можете придать вашей отрендеренной картинке вид рисунка как в комиксе или мультфильме нарисованном вручную, используя цвета шейдеров, как на Рис 31.

Рис 31. Сцена с мультяшными шейдерами.

Эффект не совсем совершенен, так как реальные комики и мультики, обычно ещё имеют обводку тушью. Blender может добавить эту деталь, во время процесса постобработки.

Для доступа к этой опции нажмите кнопку Edge , на панели Output , в окне кнопок рендеринга (F10) (Рис 32). Это заставит Blender вычислить края ваших объектов и добавить к ним очертание (обводку).

Рис 32. Кнопки управления мультяшной обводкой.

Перед рендерингом, необходимо подстроить некоторые параметры. Для этого нажмите кнопку Edge Settings , и в появившемся окне установите нужные параметры (Рис 33).

Рис 33. Настройки мультяшной обводки.

В этом окне вы можете настроить цвет обводки (очертания), по умолчанию черный, и его интенсивность Eint , которая является целым числом, в диапазоне от 0 (минимальная) до 255 (максимальная). Другие кнопки используются когда задействован Объединенный рендер (смотрите следующий раздел).

На Рис 34 таже картинка что и на Рис 31 , но с включенной обводкой, черного цвета, с максимальной интенсивностью (Eint=255).

Рис 34. Сцена с мультяшными шейдерами и обводкой.

<<< Пред | След >>>
Глубина резкости пространства (Depth of Field) | Объединенный рендер


Объединенный рендер

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Рендеринг След >>>

Объединенный рендер (Unified Renderer)

Относится к Blender v2.31

Мало известная опция Blender'а это кнопка Unified Renderer, внизу, в правом углу окна с кнопками рендеринга, на пенели Format (Рис 35).

Рис 35. Кнопка Unified Renderer.

Рендер Blender'а, по умолчанию, строго оптимизирован на скорость. Это было достигнуто разделением процесса рендеринга на несколько фаз. Сначала обрабатываются обычные материалы, затем материалы с прозрачностью (Alpha). И наконец, добавляются ореолы и блики.

Это быстро, но может давать менее оптимальные результаты, особенно когда используется материал Halo (ореол). С другой стороны, Объединенный рендер (Unified Renderer), рендерит картинку за один проход, т.е. объединяет все фазы рендеринга в одну. Это медленно, но результат намного лучше, особенно для Halo.

Кроме того, теперь обычные и прозрачные материалы рендерятся вместе, можно также добавить эффект мультяшной обводки, нажатием кнопки All в диалоге Edge Setting.

После нажатия кнопки Unified Renderer, на панели Output, появятся дополнительные кнопки (Рис 36).

Рис 36. Дополнительные кнопки для Unified Renderer.

Слайдер Gamma относится к процедуре OSA. Разделенные кусочки пиксела смешиваются и создают итоговый пиксел для рендеринга. Обычный рендер имеет значение Gamma=1, но используя Объединенный рендер (Unified Renderer), вы можете изменять этот параметр.

Кнопка Post process вызывает диалоговое окно (Рис 37). Из этого окна вы можете управлять тремя параметрами постобработки: Слайдер Add определяет постоянное количество, которое будет добавлено к значению цвета RGB каждого пиксела. Положительные значения делают изображение равномерно ярче, отрицательные равномерно темнее.

Рис 37. Диалоговое окно постобработки для Unified Renderer.

Слайдер Mul определяет, что все значения RGB всех пикселов будут умножены. Значение более 1 делает изображение ярче, значение меньше 1 темнее.

Слайдер Gamma это коррекция контраста изображения.

<<< Пред | След >>>
Мультяшная обводка (Cartoon Edges) | Подготовка вашей работы для ТВ


Подготовка вашей работы для ТВ

Относится к Blender v2.31

После того как вы овладеете всеми приемами анимации, вы обязательно захотите создать какую-нибудь классную анимацию, сжав ёё любимым кодеком, выложить её в Интернет и показать другим пользователям Blender'а (и не только!).

Но, рано или позно, вас охватит несдержимое желание сделать анимацию для ТВ (Телевидения, Television), или выжечь собственный DVD.

Чтобы оградить вас от некоторых разочарований и неприятностей, здесь даны некоторые советы определенно направленные на создание анимации для ТВ. Первый и основной, это необходимо не забывать про двойные пунктирные белые линии при виде из камеры!

Если вы рендерите для PC, тогда картинка будет находитя внутри внешней пунктирной линии. Для Телевидения, некоторые строки и некоторая часть строк будут утеряны из-за механизма работы электронного луча в электронно-лучевой трубке вашего телевизора. Все что находится во внутреннем пунктирном прямоугольнике, при виде из камеры, гарантировано будет отображено на экране телевизора. А все, что находится между двумя пунктирными прямоугольниками, может отображаться а может и нет, все зависит от данного телевизора, на котором идет просмотр.

Кроме того, размер визуализируемой картинки строго определяется стандартом Телевидения. Blender для удобства имеет три преднастроенных размера:

  • PAL 720x576 пикселов при соотношении размеров 54:51

  • NTSC 720x480 пикселов при соотношении размеров 10:11.

  • PAL 16:9 720x576 при соотношении 64:45, для широкоформатного TV 16:9

Обратите внимание на "Aspect Ratio" (соотношении сторон). Экран телевизора имеет не квадратный пиксел, как монитор компьютера, а что-то на подобии прямоугольника. Поэтому необходимо сгенерировать искаженное изображение, которое будет плохо смотрется на мониторе компьютера, но зато хорошо смотрется на телевизоре.

Цветовая насыщенность

Большинство видеолент и видеосигналов основано не на RGB модели, а на YUV (или YCrCb) модели в Европе и YIQ в США, последний очень похожий на предыдущий. Следовательно, вам необходимы некоторые знания об этом.

Модель YUV посылает информацию как сигнал яркости или интенсивность (Y) и два цветоразрастных сигнала, U и V из которых и формируются RGB цвета. Фактически черно-белый телевизор показывает только сигнал яркости, в то время как цветные формируют цвета из цветоразрастных сигналов и сигнала яркости, таким образом:

Y = 0.299R + 0.587G + 0.114B

U = Cr = R-Y

V = Cb = B-Y

Принимая во внимание, что стандартное 24-битное RGB изображение имеет по 8 бит на каждый канал, и чтобы не перегружать полосу пропускания сигнала, сигнал яркости посылается с большим количеством бит чем два цветоразрастных сигнала U и V (Cr и Cb). Это обусловлено тем, что человеческий глаз больше воспринимает изменение яркости, чем изменение цвета.

Это приводит к меньшей динамике цветов в видео, чем к той, которой вы привыкли видеть на мониторах ПК. Следовательно, вы должны иметь в виду, что не все цвета могут быть правильно отображены на экране телевизора. На практике, вы должно сохранить цвета как 'сероватые' или 'ненасыщенные' настолько, насколько возможно. Проще говоря, сохраняйте динамику ваших цветов в пределах 0.8. Т. е. разница между наивысшим и самым низким значением RGB не должна превышать 0.8 (диапазон [0-1]) или 200 (диапазон [0-255]).

Это не строго, значения чуть больше чем 0.8 приемлемы, но материал RGB = (1.0,0,0), будет очень уродливый.

Рендеринг полукадров

Телестандарт предписывает 25 кадров в секунду для PAL или 30 кадров в секунду для NTSC. Поскольку люминофор экрана не может долго поддерживат свечение, на экране может происходить заметное мерцание. Для снижения этого, телевизоры представляют кадры не так как ПК , а по пол-кадра или полукадр на двойную частоту обновления. Получаем 50 половинок кадра в секунду для PAL и 60 половинок кадра в секунду для NTSC. Это изначально было привязано к частоте электросети в Европе (50Hz) и в Штатах (60Hz).

В частности, полукадры являются "черезстрочными", то есть один полукадр представлен четными строками целого кадра, а последующий нечетными.

Так как есть ненезначительная разница во времени между каждым полукадром (1/50 или 1/60 секунды), то простой рендеринг кадра и разбивание его на две половины кадра - не работает. Приперемещении объектов сцене, было бы заметно сильное дрожание.

Рис 38. Настройка рендеринга полукадров.

Чтобы оптимально решить эту проблему, Blender учитывает полукадры при рендеринге. Когда кнопка Fields на панели Render нажата, (Рис 38) Blender представляет каждый кадр за два прохода. За первый проход рендерятся только четные линии, затем все нечетные.

Рис 39. Результат рендеринга полукадра.

Это производит странные результаты на экране ПК (Рис 39), но будет правильно отображаться на телевизоре.

Одна из двух кнопок рядом с кнопкой Fields , заставляет сначала рендерить нечетные полукадры (Odd), а другая отключает временой шаг между полукадрами (x).

Tip | Настройка правильного порядка полукадров
 | Blender по умолчанию рендерит сначала четные строки, а затем нечетные строки полукадра. Это соответствует Европейским стандартам PAL. Нечетные строки полукадра сканируются первыми при стандарте NTSC.
<<< Пред | След >>>
Объединенный рендер | Radiosity (Метод Излучения)


Radiosity (Метод Излучения)

перевод: Sailor

Большинство визуализированых моделей, включая трассировку лучей, принимают упрощенную пространственную модель, высоко оптимизированную для света, который входит в наш 'глаз', чтобы прорисовать изображение. Можно добавить к модели отражение и тени, для достижения более реалистичного результата. Однако, отсутствует важная деталь! Когда поверхность имеет легкий рефлексивный компонент, это не только видно в нашем изображении, это также отсвечивает свет на поверхностях вокруг него. И наоборот. Фактически, свет расходится вокруг и сталкивается с окружающей средой, пока вся его энергия не будет поглощена.

Рис 1. Пример Метода Излучения

В закрытых средах, энергия света генерируется ' эммиторами (emittor)' и отображается отражением или поглощением поверхности окружающей среды. Норма, по которой энергия покидает поверхность, называется 'radiosity' (излучательность) поверхности. В отличие от обычных методов рендеринга, методы излучения, сначала вычисляют взаимодействия света с окружающей средой, независимо от поля зрения. Затем, различные виды могут быть отрендерины в в реальном времени.

В Blender'е, Метод Излучения(Radiosity), больше относится к инструменту моделирования, чем к инструменту рендеринга. Это интегрированный внешний инструмент, имеет все его свойства (и ограничения).

Результат Метода Излучения это Меш-объект с цветом вершин. Объекты можно перекрасить используя опцию Vertex Paint или отрендерить, используя свойства материала "VCol Light" (цвет света) или "VCol Paint" (цвет материала). Можно даже добавить в сцену новые текстуры, дополнительные лампы и тени.

В настоящее время, система излучения не предоставляет решения для анимации. Она предназначена для статических картинок, (архитектурных) прохождений в реальном времени или для забавы, экспериментируя с симуляцией системы освещения.

Метод Излучения в Blender'е

В конце восьмидесятых и начале девяностых, Метод Излучения, был горячей темой в компьютерной 3D-графике. Было разработано много различных способов. Большинство успешных решений, были основаны на методе "progressive refinement"(прогрессивное усовершенствование) со схемой "adaptive subdivision"(адаптивное подразделение). (Рекомендуется для дальнейшего чтения: в Сети находится множество статей о radiosity, и почти каждая недавно выпущенная книга по 3D-графике,покрывает этот материал. Лучшая по прежнему "Computer Graphics" by Foley & van Dam et al.)

Чтобы добиться большего от Метода Излучения, который предлагает Blender, вам важно понять следующие принципы:

  • Метод ограничения элементов

    Большинство методов компьютерной графики и симуляции, создают упрощение действительности при помощи 'ограниния элементов'. Для визуально-привлекательного ( доказано с научной точки зрения) решения, не всегда нужно погрузиться в молекулярный уровень деталей. Вместо этого, вы можете решить вашу проблему с помощью ограниченного числа типичных и хорошо-описанных элементов. Это общий факт, что такие системы быстро становятся устойчивыми и надежными решениями.

    Radiosity - типичный пример метода ограниченных элементов.

  • Патчи и Элементы

    В области Метода Излучения, мы различаем два типа трехмерных поверхностей:

    Патчи (Patches). Это треугольники или квадраты, которые могут посылать энергию. Для быстрого результата, важно чтобы патчей было так можно меньше. Но, так как энергия распространяется от центра патча, размер должен быть достаточно маленький, чтобы получилось реалистичное распределение энергии. (Например, когда маленький объект расположен над центром патча, вся энергия, которую посылает патч, будет затенена этим объектом).

    Элементы (Elements)Это треугольники или квадраты, которые используются для приема энергии. Каждый элемент связан с патчем. Фактически, патчи разделяются на множество маленьких элементов. Когда элемент получает энергию, он частично ее поглощает (в зависимости от цвета патча), а остаток передает патчу. Так как элементы это те же грани, которые мы отображаем, важно чтобы их было как можно меньше, чтобы выразить тонкие, теневые границы.

  • Прогрессивное Усовершенствование

    Этот метод начинается с исследованием всех доступных патчей. Выбирается патч с наибольшим количеством 'нерасстрелянной' энергии, чтобы выстрелить ее всю в окружающую среду. Элементы, в окружающей среде, получают эту энергию и добавляют ее к связанным с ними патчами, с 'нерастрелянной' энергией. Затем процесс начинается снова, для патчей, которые СЕЙЧАС имеют больше нерасстрелянной энергии. Это продолжается для всех патчей до тех пор, пока вся энергия не закончится или пока 'нерасстрелянная' энергия не опустится ниже определенного значения.

  • Метод полукуба(hemicube)

    При помощи 'полукуба', вычисляется сколько энергии каждый патч дает элементу. Расположенный точно в центре патча, полукуб состоит из 5-ти маленьких изображений окружающей среды. Для каждого пикселя в этих изображениях, определенный видимый элемент кодируется цветом, и таким образом, можно рассчитать переданное количество энергии. При помощи специализированных аппаратных средств, метод полукуб, может быть значительно ускорен. Однако в Blender'е, вычисления с помощью 'полукуба', производятся "программным способом". Этот метод, это фактически упрощенная и оптимизированая 'реальная' формула метода излучения (дифференцирование форм-фактора). По этой причине, разрешение 'полукуба' (число пикселей в его изображениях) очень важно, чтобы предотвратить артефакты алиасинга ("ступеньки").

  • Адаптивное подразделение

    Так как подразделение Меша определяет качество метода излучения, чтобы определить оптимальный размер патчей и элементов, были разработаны автоматические схемы подразделения. Blender имеет два автоматических метода подразделения:

    1.Подраделенные-'стреляющие' патчи. Выстреливая энергию в окружающую среду, и сравнивая значения 'полукуба' с актуальным математическим значением 'форм-фактора', могут быть обнаружены ошибки, что указывает на потребность дальнейшего подразделении патча. В результате - маленькие патчи и требуется больше времени, но, более высокий реализм.

    2. Подраделенные-'стреляющие' элементы. Выстреливая энергию в окружающую среду , и обнаруживая высокие изменения энергии (частоты) внутри патча, элементы этого патча, подразделяются на еще один дополнительный уровень. В результате - маленькие элементы, процесс занимает больше времени, и возможно больше алиасинга, но очень высокий уровень деталей.

  • Отображение и пост-обработка

    Подразделение элементов в Blender'е 'сбалансировано', а это означает, что каждый элемент отличается, максимум на '1' уровень подразделения с его соседними. Это важно для красивого и правильного отображения затенения граней методом Излучения. Обычно после процесса, результат состоит из тысяч маленьких элементов. После их фильтрации и удаления 'дублированных', число элементов может быть заметно уменьшено, без потери качества Метода Излучения. Blender хранит значения энергии, как значение 'с плавающей точкой'. Это дает возможность настраивать параметры для эффективного расположения освещения, изменяя значения стандартного множителя и гаммы.

  • Визуализация(Rendering) и интегрирование в Blender

    На заключительном шаге, можно заменить первоначальные Меши на результат Метода Излучения (кнопка "Replace Meshes" на панели Radio Tool). В этот момент, цвета вершин преобразуются со значения 'с плавающей точкой' в 24 битовый RGB-формат. Старые Меш-Объекты удаляются и заменяются на один или более новых Меш-Объекта. Затем, вы можете удалить данные Метода Излучения при помощи кнопки " Free Data ". Новые Объекты получают заданный по умолчанию Материал, который позволяет непосредственный рендеринг. Есть два важных параметра для работы с цветом вершин, в настройках Материала, F5 (панель Material):

    VCol Paint Эта опция обрабатывает цвета вершин, как замена для нормального значения RGB в Материале. Вам необходимо добавить освещение, чтобы увидеть цвета Метода Излучения. Фактически, вы можете использовать освещение и тени в Blender'е как обычно, и по-прежнему, при рендеринге, будет виден результат Метода Излучения.

    VCol Light Цвет вершин добавляется к свету при рендеринге. Вы увидите результат, даже без ламп в сцене. Этой опцией, цвета вершин умножаются на RGB цвет Материала. Это позволяет подстраивать 'свет Метода Излучения', при окончательном рендеринге.

Как и все в Blender'е, настройки Метода Излучения, выполнены в виде блоков данных (datablock). Блоки подключены к сцене, и каждая сцена в Blender'е, может иметь свои 'блоки данных' Излучения. Используйте эту особенность, чтобы разделить сложную сцену, на сцены с независимыми параметрами Radiosity.

<<< Пред | След >>>
Подготовка вашей работы для видео | Визуализация Radiosity


Визуализация Radiosity

Давайте представим что у вас есть готовая сцена и вы хотите отрендерить(визуализировать) с помощью Radiosity. Первое, что нужно усвоить прииспользовании Radiosity, это то, что освещение (лампы) не нужно, но небходимо, чтобы некоторые меши имели значение Emit для материала больше нуля, эти меши и будут источником света.

Вы можете создать простую сцену как на (Рис 2). Добавьте в нее плоскость, чуть ниже потолка, со значением Emit для материала больше нуля, чтобы симулировать источник света.

Добавьте Материал обычным способом на Меш-модели. Значение RGB Материала, определяет цвет патча. Значение 'Emit' для Материала, определяет заряжен ли патч энергией в начале симуляции Излучения. Значение "Emit", умножается на область патча, чтобы вычислить начальное количество 'нерастрелянной' энергии. Текстуры в Материале не учитываются.

Tip | Грани-эмитторы
 | Проверте количество "эмитторов" в консоле Blender'а! Посмотрите количество патчей - значение "Emit:", если это значение ноль, то ничего интересного не произойдет. Вам необходим минимум 1 патч-эмиттер, чтобы получить освещение в сцене.

Рис 2. Тестовая сцена для Radiosity.

После добавления всех материалов, убедитесь что кнопка Radio, на панели Shader в окне кнопок материалов, включена для всех материалов (Рис 3).

Рис 3. Включение Radiosity для материала

Пожалуйста обратите внимание, что излучение света управляется направлением нормалей меша, поэтому плоскость, которая излучает свет должна иметь нормаль направленную вниз, а внешний куб (комната) должен иметь нормали направленные во внутрь!

Переключитесь на кнопки Radiosity [image] , через контекст Shading . Здесь имеются две панели (Рис 4): Radio Rendering которая управляет рендерингом Radiosity (как в данном случае) и Radio Tool, которая управляет использованием Radiosity, как инструмент моделирования (следующий раздел).

Рис 4. Кнопки для визуализации(рендеринга) Radiosity.

Значение кнопок:

  • Hemires: - размер полукуба; используются цветные изображения, чтобы найти элементы, которые видны со стороны 'стреляющих патчей', и таким образом, получают энергию. Полукубы не сохраняются, но вычисляются заново каждый раз для каждого патча, который излучает энергию. Значение "Hemires" определяет качество Radiosity и добавляет время для вычисления.

  • Max Iterations: - Если значение не установлено в ноль, то метод Излучения остановится на указанном шаге. Устанавливайте это значение больше нуля. Обычно установлено более 100.

  • Mult, Gamma Цветность Radiosity, гораздо больше детализирована чем, может быть выражена с простым 24-битным RGB-значением. Когда элементы преобразованы в грани, их значения энергии преобразуются в RGB-цвет, с использованием значений "Gamma" и "Mult". Значением "Mult" Вы можете умножать значение энергии, а значение "Gamma" изменяет контраст энергии.

  • Convergence: - Если количество нерасстрелянной энергии в среде меньше чем это значение, процесс Излучения прекращается. Начальная нерасстрелянная энергия в среде умножается на область патчей. Во время каждой итерации, часть энергии поглощается, или исчезает, когда окружающая среда - не закрытый объем. В стандартной системе координат Blenderа, обычный источник энергии, (как в файлах примера) имеет относительно маленькую область. По этой причине, перед испытанием, значение "convergence" (сходимости) разделяется на 1000.

Установите Max Iterations: на 100 и перейдите к кнопкам рендеринга (F10)

Найдите и включите кнопку Radio (Рис 5) на панели Render, и потом отрендерьте сцену! (F12).

Рис 5. Включение Radiosity.

Рендеринг займет чуть больше времени чем обычно и в консоли вы увидите отсчет. Результат будет невзрачным (Рис 6, слева), потому что автоматический рендер Radiosity не делает адаптивного усовершенствования!

Выберите все меши, одну за другой, и, в режиме редактирования подразделите каждую минимум три раза. Большой куб подразделите четыре раза, т.к. он больше всех остальных мешей. Установите Max Iterations чуть выше, 300 или больше. Теперь снова запустите рендер (F12). Время рендеринга будет еще больше, но результа будет на много лучше, с мягкими тенями и цветовыми переходами (Рис 6, справа)

Рис 6. Рендеринг Radiosity для грубых (слева) и сглаженных мешей (справа).

Note

Рендеринг Radiosity в Blender'е действует как и обычный рендеринг, это означает что текстуры, кривые, поверхности и даже Dupliframed-объекты обрабатываются корректно.

<<< Пред | След >>>
Radiosity | Radiosity как инструмент моделирования


Radiosity как инструмент моделирования

Radiosity может использоваться также как инструмент моделирования для определения цвета вершин и освещения. Это может быть очень полезно, если вы хотите сделать более реалистичные ваши модели, или если вы хотите использовать их в игровом движке (Game Engine).

Есть несколько важных пунктов чтобы понять, как использовать Radiosity для моделинга:

Для Метода Излучения в Blender'е, допускается использовать только Меш-объекты. Важно понять, что каждая грань в Меше становится патчем, и затем потенциальным емиттером и рефлектором энергии. Обычно, патчи большего размера, получают и излучают больше энергии, чем маленькие. Поэтому важно иметь хорошо сбалансированную модель, с достаточно большими патчами. Когда вы используете слишком маленькие грани, они (почти) никогда не получат достаточно энергии, которая, используется методом " прогрессивное усовершенствование ", который, выбирает патчи только с большим количеством 'нерастрелянной' энергии.

Tip | Не меш-объекты
 | Только Меш-объекты означает что, перед использованием Radiosity, вы должны конвертировать все объекты другого типа в меш (CTRL+C) !

Фаза 1: Подготовка моделей

Все выбранные и видимые Меши, в текущей Сцене преобразовываются в патчи после того как вы нажмете кнопку Collect Meshes на панели Radio Tool (Рис 4 в разделе Визуализация Radiosity). В результате появится новая панель Calculation. Blender в данный момент в режиме Radiosity, и другие функции редактирования блокируются, до тех пор, пока вы не нажмете кнопку Free Radio Data.

Gосле того, как Меши собраны, они прорисованы в режиме псевдоосвещения, который заметно отличается от обычного режима отображения.

На панели Radio Tool (Рис 7) есть три кнопки: Wire, Solid, Gour это опции отображения, в зависимости от режима отображения объектов в 3D-окне. Нажатие кнопки Gour, даст более гладкие результаты на кривых поверхностях.

Рис 7. Кнопки Radiosity

Фаза 2: Пределы подразделений.

Blender предлагает несколько параметров настройки, для определения минимальных и максимальных размеров патчей и элементов на панелях Radio Tools и Calculation (Рис 8).

Рис 8. Кнопки Radiosity для подразделения

Limit Subdivide Патчи подразделяются согласно значениям "PaMax" и "PaMin". Поразделение выполняется также и автоматически, после начала действия "GO".

PaMax, PaMin, ElMax, ElMin Максимальный и минимальный размер патча или элемента. Эти пределы, используются в течение всех стадий Метода Излучения. За единицу взято 0,0001 от размера связанного блока всей окружающей среды.

ShowLim, Z Эта опция, визуализирует пределы элемента и патча. Нажимая кнопку 'Z', пределы будут отображаться по-разному. Белые линии показывают ограничения патча, голубые линии - пределы элемента.

Фаза 3: Адаптивное подразделение.

Последние параметры настройки перед началом анализа (Рис 9).

Рис 9. Кнопки Radiosity

MaxEl Максимально допустимое количество элементов. Так как каждый элемент в Blender подразделяется автоматически, этой кнопкой можно управлять количеством используемой памяти и время вычисления. Как правило, 20,000 элементов занимают 10Мб памяти.

Max Subdiv Shoot Максимальное количество излучающих патчей , которые понадобятся для "adaptive subdivision" (описание ниже) . Если установить ноль, вычислятся все патчи со значением 'Emit'.

Subdiv Shoot Patch С выстрелом энергии в окружающую среду, определяются ошибки, которые указывают на необходимость дальнейшего подразделения патчей . Подразделение происходит один раз, с каждым вызовом этой функции. В результате наименьший размер патчей и наибольшее время вычисления, но зато наивысший реализм. Эту опцию можно также задействовать автоматически нажатием кнопки "GO".

Subdiv Shoot Element Выстреливая энергию в окружающую среду, и определяя энергию (частоты) внутри патча, элементы этих патчей подразделяются на дополнительный уровень. Подразделение происходит один раз, с каждым вызовом этой функции. В результате наименьший размер патчей и наибольшее время вычисления и вероятно большой алиасинг, но высокий уровень детализации . Эту опцию можно также задействовать автоматически нажатием кнопки "GO".

SubSh P Количество раз проверки окружающей среды, чтобы определить патчи нуждающиеся в подразделении.

SubSh E Количество раз проверки окружающей среды, чтобы определить элементы нуждающиеся в подразделении.

Note

Hemires, Convergence и Max iterations на Radio Render по-прежнему активны и имеют тоже значение, что описано в разделе Визуализация Radiosity .

GO этой кнопкой запускается процесс симуляции Radiosity. Фазы:

  1. Ограничение подразделения Если патчи слишком большие,они подразделяются.

  2. Подразделение "стреляющих" патчей. Значение SubSh P определяет количество раз выполнения функции Subdiv Shoot Patch. В результате патчи подразделяются.

  3. Подразделение "стреляющих" элементов. Значение SubSh E определяет количество раз выполнения функции Subdiv Shoot Element . В результате элементы подразделяются.

  4. Подразделение элементов. Если элементы по-прежнему больше минимального размера, они подразделяются. Теперь, максимальный объем памяти обычно распределяется.

  5. Решение. Это метод 'прогрессивного усовершенствования'. Указатель миши отображает шаг интерации, текущее общее количество патчей, которые "выстрелили" свою энергию в окружающую среду. Этот процесс продолжается, пока "нерасстреленная" энергия не будет ниже чем значение Convergence , или когда число итераций достигнет максимума.

  6. Конвертирование в грани Элементы со связаными краями конвертируются в треугольники или квадраты.

Остановить процес на любой фазе можно клавишей ESC.

Фаза 4: Редактирование

После завершения просчета Radiosity, необходимы еще некоторые действия (Рис 10).

Рис 10. Постпроцесс Radiosity.

Element Filter Эта опция фильтрует элементы, чтобы удалить артефакты алиасинга, сглаживает теневые границы, или принудительно уравнивает цвета для опции RemoveDoubles.

RemoveDoubles Когда два соседних элемента отображают цвет, который отличается меньше чем Lim, элементы объединяются. Значение Lim используется предыдущей кнопкой. Единица выражена в стандартном 8-битном разрешении; цветовой диапазон от 0 - 255.

FaceFilter Элементы для отображения преобразуются в грани. "FaceFilter" принудительно сглаживает отображаемый результат, без изменения значения элемента.

Mult, Gamma тоже значение, что описано в разделе Визуализация Radiosity.

Add New Meshes Отображаемые грани текущего метода Radiosity преобразуются в Меш-Объекты, с цветами вершин. Добавляется новый материал, что позволяет непосредственную визуализацию. Первоначальные Меши остаются неизмененными.

Replace Meshes Как и в предыдущем случае, но первоначальные Меши удаляются.

Free Radio Data Все патчи, элементы и грани освобождаются из памяти. Вы всегда должны выполнить это действие, после использования Radiosity , чтобы возвратиться к нормальному редактированию.

<<< Пред | След >>>
Визуализация Radiosity | Пример использования Radiosity


Пример использования Radiosity

Относится к Blender v2.31

Чтобы уйти от сухой теории и показатьчто может Radiosity, давайте рассмотрим пример.

Этот пример покажет вам сцену с настоящим Глобальным освещением, с более мягкими результатами теней Рис 11, чем при использовании методики 'Dupliverted Spot Lights' - источник направленного света на каждой вершине, описанного в главе " Параметры настройки Освещения" .

Рис 11. Cylon Raider отрендеренный с помощью Radiosity.

Настройки

У нас в начале есть только два элемента в сцене: Raider (корабль-бомбардировщик, как в фантастическом фильме...) и камера. Raider имеет серый (как по умолчанию) материал, кроме окон главной кабины, которые черного цвета. При использовании этой методики нам ненужны никакие обычные лампы.

Первым делом, нам нужно добавить в сцену плоскость, которая будет использована как пол. Дайте плоскости необходимый размер, как на Рис 12 и расположите ее чуть ниже Raider'а, оставив небольшой зазор между днищем корабля и плоскостью. Это придаст объекту классный "плавающий" вид.

Рис 12. Добавление плоскости.

Далее мы добавим для плоскости материал и цвет. Попробуем использовать синий. Можете для него использовать настройки как на Рис 13 .

Рис 13. Цвет плоскости

Купол

Так как мы делаем сцену с Глобальным освещением, то следующим шагом мы добавим объект icosphere (ICO-сфера). Эта сфера, будет нам как источник света, вместо обычных ламп. Мы используем грани (полигоны) сферы как эмиттеры, которые будут излучать свет со всех сторон, а не в одно направление, как это делает обычная одиночная лампа. Таким образом мы получим нужный нам эффект.

Добавьте icosphere, уровнем подразделения 3. Оставаясь в режиме редактирования, используйте режим выделения клавишей B, чтобы выбрать и удалить нижнюю часть сферы. Таким образом у нас получится купол. Придайте куполу подходящий размер и расположите точно над плоскостью. Должно получится как на Рис 14.

Рис 14. Купол.

Далее, нужно убедится что все нормали купола смотрят во внутрь, т.е. на корабль. Для этого, выделяем все вершины сферы и в окне кнопок редактирования (F9) нажимаем кнопку Draw Normals. Это позволит увидеть нам направление излучения "эмиттеров". По умолчанию, нормали направлены наружу, поэтому нажмите кнопку Flip Normals (или CTRL-SHIFT-N), это изменит направление нормалей во внутрь нашего купола (Рис 15).

Рис 15. Перенаправление нормалей.

Теперь у нас есть купол, и нам нужен новый материал. Для этого материала используйте в окне кнопок материалов (F5), следующие настройки:

Add = 0.000

Ref = 1.000

Alpha = 1.000

Emit = 0.020

Слайдер Emit в нашем случае является наиболее важным. Этот параметр управляет количеством "излучения" от нашего купола. Значение 0.020 будет подходящим. Помните, что купол самая большая часть нашей сцены! И вам не нужно слишком много света! Но вы можете поэксперементировать с этой опцией, для получеия различных результатов. Более низкое значение здесь, отнимет больше времени на процесс. (Рис 16).

Рис 16. Материал для купола.

Следующим шагом, нам нужно изменить купол и плоскость от "двустороннего" к "одностороннему". Чтобы сделать это, выберем купол, затем вернемся к кнопкам редактирования (F9) и нажмите кнопку Double Sided , выключив её (Рис 17). Тоже самое сделайте и для плоскости.

Рис 17. Установка купола и плоскости как 'односторонний' меш.

Метод Radiosity

Теперь, следующие пару шагов, являются душой и сердцем Глобального освещениея. Переключитесь на вид сбоку клавишей NUM 3 и нажмите A чтобы выбрать все объекты в нашей сцене. Затем, снимите выбор с камеры, удерживая SHIFT и кликнув по ней ЛКМ два раза. Должно получится ка на Рис 18.

Рис 18. Выбор всех мешей.

После того как меши выбраны, перейдите на вид из камеры NUM 0, и переключитесь в теневой режим отображения Z , теперь мы видем что у нас находится внутри купола.

Далее, выберите контекст Shading (F5) и нажмите кнопку Radiosity ( [image] ). На панели Radio Tool, нажмите кнопку Collect Meshes. Вы увидите, что цвета ваших объектов изменились. Сцена должна быть похожа как на Рис 19.

Рис 19. Подготовка.

Далее, чтобы сохранить наш Raider гладким, как в оригинале, нам нужно переключить опцию Solid на Gour. Это сделает гладким наш Raider, аналогично кнопке Set Smooth, в окне кнопок редактирования. Вам также понадобится изменить значение Max Subdiv Shoot на 1 (Рис 20). Не пропустите этот шаг!

Рис 20. Настройка Radiosity.

После того как вы настроили Gour и Max Subdiv Shoot, кликните кнопку Go и подождите. Blender начнет вычислять излучение купола, переходя от грани к грани, таким образом осуществляя рендеринг. Наблюдая за процессом, вы увидите как сцена все больше и больше изменяется, постоянно увеличивая освещение и изменяя меши. Вы также заметите что курсор в Blender'е превратится в щетчик, как в анимации.

Позвольте Blender'у сделать 50-500 циклов, что подойдет для большинства случаев (в зависимости от сцены). Время процесса зависит от вас... помните, что вы можете нажать ESC, в любой момент, чтобы остановить процесс Radiosity. Здесь вы можете поэксперементировать для различных результатов. Это может занять от 5 до 10 минут, но мощность вашего ПК также сильно влияет на время затраченное на процесс. На Рис 21 наш Raider после 100 циклов.

Рис 21. Метод Radiosity.

После нажатия ESC и остановки процесса, кликните Replace Meshes (заменить меши) (или Add New Meshes - добавить новые меши) , а затем Free Radio Data. Это завершит процесс и заменит нашу первоначальную сцену новой сценой, с Radiosity рендерингом.

Note

Добавление мешей вместо замены, является своеобразной функцией отмены предыдущего действия (Undo). У вас по прежнему останутся старые меши и вы сможете запустить процесс Radiosity заново! Но перед рендеренгом вам нужно будет переместить новые меши в другой слой!

Теперь можно нажать F12 и отрендерить картинку (Рис 22).

Рис 22. Визуализация.

Добавление текстур

Теперь у нас есть сцена с настоящим, 360-градусным освещением и мягкими тенями. Очень круто... Но нам ещё нужно добавить текстуры для меш объектов. Так давайте вернемся к нашей главной сцене.

Теперь попробуйте выбрать Raider и вы заметите что выделяются все объекты в сцене. Это из-за того что в процессе Radiosity, был создан новый единый меш. Для добавления текстуры нам нужен только корабль.

Итак, выберите меш и переключитесь в режим редактирования. В режиме редактирования, мы можем удалить купол и плоскость, так как они нам больше не нужны. Используйте клавишу L , чтобы выбрать вершины необходимого меша и затем нажмите X , чтобы удалить их. Продолжайте выделения и удаление, пока не останется только Raider. Должно получится как на Рис 23. Если отрендерить сцену сейчас F12, мы получим только корабль на черном фоне. Круто... но опять же, нам нужны текстуры!

Рис 23. Меши корабля.

Чтобы добавить текстуры, нам нужно отделить участки меша, к которым мы применим материал и текстуру. Что касается корабля, то нам нужна текстура для средней части и крыльев. Для этого выбераем меш корабля, и переходим в режим редактирования. Выбераем вершину у края крыла и нажмаем L, чтобы выбрать взаимносвязанные вершины. Тоже самое делаем для другой стороны (не забудьте удерживать SHIFT). Далее, когда вершины необходимой части выбраны, нажимаем P и отделяем меш. Делаем тоже самое для средней части Рис 24.

Рис 24. Отделяем части корабля для текстурирования.

Теперь мы отделили часть с крыльями и готовы применить материал и текстуру. Добавляем материал для для меша, используя настройки как на Рис 25, что даст хороший вид металла.

Рис 25. "Металлический" материал.

Настало время добавить текстуру. Нам нужно получить достаточно детализированые результаты. Нам понадобится две рельефные карты для углублений и две маски для 'маркировок'. Следовательно для крыльев корабля были созданы четыре текстуры, как на Рис 26.

Рис 26. Четыре текстуры, от верхнего левого угла, по часовой стрелке: RaiderBM, RaiderDI, Markings, Raider.

Текстуры распологаются в четырех текстурных каналах, сверху меша. 'RaiderBM' и 'RaiderDI' должны быть с негативной опцией Nor (Рис 27 снизу - кликните Nor дважды, чтобы надпись кнопки стала желтой). 'Raider' должна быть с негативной опцией Ref (Рис 27 в центре).

Tip | Какой материал?
 | Меш, после Radiosity, обычно имеет более чем один материал. Это важно при работе с правильным "оригинальным" материалом.

Рис 27. Настройки текстуры.

В результате у нас получилась обшивка для корабля с необходимым металлическим цветом. И в завершении , четвертая текстура 'Markings', должна иметь опцию Col, в кнопках материалов (Рис 27 сверху). Это добавит кораблю полоски и знаки отличия. Наш корабль достаточно плоский, поэтому подойдет проэкция Flat. Если имеются более сложные формы, то для получения хороших результатов может понадобится UV-редактор. Предпросмотр материала должен выглядеть так Рис 28.

Рис 28. Предпросмотр материала.

Наша текстура небудет отображаться при рендеренгу (кроме маркировки), потому что опции Nor и Ref для текстуры, реагируют на свет, а в нашей сцене нет ни одной лампы! Следовательно, нам нужно добавить лампу или две, имея ввиду, что наш корабль уже освещен после Radiosity. Поэтому енергия ламп должна быть правильно подстроена. После добавления ламп, попробуйте сделать тестовый рендеринг. Эксперементируйте с лампами до тех пор, пока не получите нужного результата.

Финальный рендеринг (Рис 11) показывает хорошо освещенный, оттекстуренный корабль.

<<< Пред | След >>>
Radiosity как инструмент моделирования | Трассировка луча (Raytracing)


Эффекты

перевод: Sailor

Введение

Имеется три вида эффектов, которые могут быть связаны с объектом, участвующем в анимации.

Чтобы добавить эффект, выберите объект и переключитесь в окно кнопок управления объектом - F7 , затем найдите панель Constraints - Effects, выберите закладку Effects и нажмите кнопку "New Effects", как на. Рис. 1.

Рис 1. Панель управления эффектами

Кнопка "Delete" удаляет эффектt, а раскрывающийся список справа, который появится после добавления эффекта, (как на Рис. 2 в разделе Эффект Компоновки) позволяет выбрать тип эффекта.

Большее количество эффектов может быть связано с одиночным мешем, ряд маленьких кнопок, одна для каждого эффекта, появившиеся ниже кнопки "New Effect", позволяют переключаться от одного эффекта к другому, чтобы менять параметры настройки.

Есть три эффекта: "Build" (Компоновка), "Particles" (Частицы) и "Wave" (Волна), второй является наиболее универсальным. Следующие разделы опишут подробно каждый из них

<<< Пред | След >>>
Advanced Tools | Эффект Компоновки


Эффект Компоновки

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Эффекты След >>>

Эффект Компоновки (Build Effect)

Эффект Компоновки работает на мешах и заставляет грани объекта появляться, один за другим, в течение определенного времени. Если Материал меша - это Материал Halo, предпочтительнее стандартный, тогда не грани, а вершины меша будут появляться один за другим.

Рис. 2. Эффект Компоновки

Грани, или вершины, появятся в том порядке, в котором они сохранены в памяти. Порядок можно изменять, выбрав объект и нажав CTRL + F, вне режима редактирования. Это приведет к пересортировке граней (по Z координате) в пределах данного меша.

Tip | Заметка об изменении порядка
 | Если Вы создадите плоскость и добавите эффект Компоновки, то вам не очень понравится то, что вы увидите. Для начала, Вы должны подразделить ее так, чтобы она состояла не из одной, а из нескольких граней, но, при нажатии CTRL + F не будет больших изменений, потому что Z-ось ортогональна к плоскости. Вам необходимо вращать плоскость в режиме редактирования (EditMode), чтобы получить некоторое различие в гранях, и иметь возможность переупорядочить их.

Эффект Компоновки, представлен только двумя цифровыми кнопками (NumBut) для управления (Рис. 2):

Len - Определение количества кадров, которые займет компоновка.

Sfra - Определение начального кадра процесса компоновки

<<< Пред | След >>>
Эффекты | Эффект Частиц: Простые частицы


Эффект Частиц: Простые частицы

Документация Blender'а Том I - Руководство Пользователя
<<< Пред Эффекты След >>>

Эффект Частиц: Простые частицы.

Blender имеет быструю, гибкую, и мощную систему частиц. Любой меш-объект может служить как эмиттер частиц. Halos - ореолы (специальный материал) могут использоваться как частицы, а также объекты, с опцией Duplivert (копии объектов на каждой вершине). Этими Duplivert-объектами, могут быть любые типы объектов Blender'а, на пример меш-объекты, Кривые(Curves), Метаболы(Metaballs), и даже лампы. Частицы могут быть под влиянием глобального воздействия, чтобы моделировать физические эффекты, такие как гравитация или ветер.

С этими возможностями вы можете генерировать дым, огонь, взрывы, фейерверк, скопления птиц, или стаи рыб. Со статическими частицами вы можете генерировать мех, траву и даже растения.

Первая система частиц

  • Загрузите в Blender сцену по умолчанию, или создайте сцену с одной плоскостью, с видом сверху. Эта плоскость будет нашим эмиттером частиц. Вращайте вид сцены так, чтобы плоскость и пространство над ней были хорошо видны (Рис 3).

Рис 3. Эмиттер.

  • Переключитесь в окно кнопок управления объектом F7 . На панели Constraints - Effects, выберите закладку Effects и нажмите кнопку "New Effects". Измените в выпадающем меню "Build" на "Particles". Кнопки управления частицами показаны на (Рис 4).

Рис 4. Кнопки управления частицами.

  • Установите цифровую кнопку Norm: на 0.100, кликнув по ее правой части левой кнопкой мыши и удерживая Shift, затем введите значение с клавиатуры.

  • Запустите анимацию нажав Alt-A, с курсором находящимся в 3D-окне. Вы увидите вертикально возрастающий поток частиц, от четырех вершин.

Поздравляю - только что вы сгенерировали свою первую систему частиц, за пару простых шагов!

Чтобы делать систему немного более интересной, необходимо глубже проникнуть в систему и ее кнопки (Рис 5):

  • Параметр Tot: управляет общим количеством частиц. На современных быстрых CPU, вы можете поднимать это значение, без заметного замедления.

  • Общее количество частиц, определенное в кнопке Tot: однородно создаются по интервалу времени. Интервал времени управляется цифровыми кнопками Sta: и End: (в кадрах) в которых генерируются частицы.

  • Частицы имеют время жизни, которое задано количеством кадров, начиная от кадра в котором они появились и далее в котором они исчезнут. Вы можете определять время жизни частиц цифровой кнопкой Life:

  • Цифровая кнопка Norm: используется перед тем, как сгенерировать частицы, имеющие начальную скорость постоянного значения (0.1) направленную вдоль нормалей вершин. Чтобы сделать появление более "случайным" установите значение Rand: тоже на 0.1. Это также заставит частицы появляться случайно.

  • Группа кнопок Force: предназначена для симуляции постоянной силы, подобно ветру или гравитации. Например, значение Force: Z: -0.1 заставит частицы падать на землю.

Рис 5. Настройка частиц.

Для начала, этого должно быть достаточно, но вы не стесняйтесь поэксперементировать и с другими параметрами. Мы рассмотрим их подробнее в следующих разделах.

Визуализация системы частиц

Возможно вы пытались отрендерить картинку, из нашего примера описанного выше. Если камера была установлена правильно, то вы бы увидели черную картинку с серыми размытыми пятнами. Это стандартный материал Halo(Ореол), который Blender использует для новосозданной системы частиц.

Разместите камеру так, чтобы вы хорошо видели систему частиц. Если вы хотите добавить в сцену еще пару простых объектов, то не забудьте про освещение. Ореолы(Halos) рендерится без освещения, если не установлено иначе, но другим объектам, для видимости, необходим свет.

Перейдите к кнопкам материалов (F5), панель Material, и добавьте для эмиттера новый материал (если он не был добавлен раньше). Кликните кнопку "Halo" (Рис 6).

Рис 6. Настройки Ореола(Halo)

Кнопки материалов изменятся на кнопки Ореола(Halo). Выберите Line(Линия), и установите значение Lines: по вашему желанию(вы можете наблюдать эффект прямо в окне просмотра материалов, слева). Уменьшите значение HaloSize: на 0.30, и выберите цвет для Ореола(Halo) и для Линий(Line) (Рис 6).

Теперь можно отрендерить картинку клавишей F12, или целую анимацию и наблюдать сотни парящих звездочек (Рис 7).

Рис 7. Вылетающие звезды

Объекты как частицы

Вы с легкостью можете использовать любой объект как частицу, эта методика в точности подобна той, что описана в разделе DupliVerts - создание дубликатов объекта на каждой вершине, глава Специальные приемы моделирования.

Создайте в вашей сцене куб или любой другой объект. Стоит подумать о том, насколько мощный ваш компьютер, поскольку у нас получится столько объектов, сколько указано в Tot:. Это означает что количество вершин, указанное в Tot:, будет соответствовать количеству объектов, т.е на каждую вершину по объекту.

Задайте размер новосозданному объекту, так чтобы он вписывался в масштаб общей сцены.

Теперь выберите объект (куб), потом используя Shift-ПКМ выберите эмиттер и сгруппируйте их методом parent, клавишами Ctrl-P. Выберите только эмиттер и нажмите кнопку "DupliVerts" в окне кнопок управления объектами ( клавиша F7), на панели Anim settings Рис 8. В 3D-окне сразу же появятся дубликаты куба на каждой вершине эмиттера.

Рис 8. Настройка частиц с Duplivert.

Вы наверное захотите снизить количество вершин, перед нажатием Alt-A (Рис 8).

Во время анимации, вы заметите, что все кубы имеют ту же самую ориентацию. Может быть это интересно, но будет еще интереснее, если ориентировать кубы беспорядочно.

Этого можно добиться, нажав кнопку Vect в параметрах частиц, которая вынуждает объекты-дубликаты следовать за вращением частиц, в результате - более естественное движение (Рис 8). Один из кадров анимации показан на (Рис 9).

Tip | Первоначальный Объект
 | Позаботьтесь чтобы первоначальный объект находился вне камеры, иначе он также будет отрендерен!

Рис 9. Частицы с Duplivert.

Создание огня при помощи частиц

Система частиц Blender'а позволяет создавать очень реалистичный огонь и дым. Это может быть свеча, костер, или горящий дом. Полезно рассмотреть, как огонь управляется физикой. Пламя огня - горячие газы. Они поднимаются из-за их более низкой плотности, по сравнению с окружающим их более холодным воздухом. Пламя горячее и яркое в середине, и постепенно гаснет, становится более темными по периметру.

Подготовьтесь для создания огня, смоделировав предварительно несколько кусков дерева и камней. Разложите камни кольцом, а деревяшки выложите как это делается обычно при разведении костра.

Система частиц

Расположите плоскость по центру кольца из камней. Эта плоскость будет эмиттером частиц. Единожды подразделите плоскость, (клавиша W). Теперь переместите вершины эмиттера на куски дерева в те места, откуда будет исходить огонь (частицы).

Теперь переходим к кнопкам анимации частиц (F7, вкладка Effects) и добавим к плоскости новый эффект частиц. Данные значения параметров см.(Рис 11) должны дать достаточно реалистичный огонь, но может понадобится кое-что подкорректировать, в зависимости от размера эмиттера.

Рис 11. Настройка частиц для огня.

Несколько примечаний:

  • Чтобы огонь уже горел при старте анимации, необходимо задать отрицательное значение параметру Sta:. Например, попробуйте -50. Значение End: должно отражать желаемую длину анимации.

  • Параметр Life: - жизнь частиц, установите 30. Вообще-то можно оставить и 50. Мы позже используем этот параметр для регулировки высоты пламени.

  • Сделайте параметр Norm: чут-чуть отрицательным (-0.008) это придаст костру более объемное основание.

  • Значение Force: Z: приблизительно 0.200. Если огонь горит очень медленно, подкорректируйте этот параметр.

  • Измените Damp: на 0.100 чтобы замедлить пламя через некоторое время.

  • Активируйте кнопку "Bspline". В этом случае будет использоваться метод интерполяции, который дает более "жидкое" движение.

  • Чтобы добавить нашим частицам некую хаотичность, откорректируйте параметр Rand:, приблизительно 0.014. Используйте параметр Randlife: чтобы сделать неравномерную продолжительность жизни частиц; более высокое значение здесь, дает более живое пламя.

  • Используйте общее количество частиц для анимации приблизительно 600-1000 (Tot:).

Теперь, в 3D-окне, вы получите первое впечатление от того, как реалистично двигается пламя. Но наиболее важная вещь для нашего огня, это будет материал.

Материал для огня

Выбрав эмиттер частиц, переключитесь на кнопки материалов (F5) и добавьте новый материал. Нажмите кнопку Halo чтобы сделать новый материал ореольного типа. Также, нажмите кнопку HaloTex, расположенную чуть ниже. Это позволит потом использовать текстуру.

Рис 12. Материал для пламени.

Дайте материалу насыщенный красный цвет, с помощью слайдеров RGB. Уменьшите значение Alpha на 0.700; это даст пламени чуть-чуть прозрачности. Увеличьте значение Add на 0.700, это заставит ореолы увеличивать друг друга и сделает пламя ярким внутри и более темным снаружи. (Рис 12).

Рис 13. Текстура для пламени.

Если вы сейчас сделаете пробный ренднринг, вы увидите только красное яркое пламя. Чтобы добавить немного реализма, нам необходима текстура. С по-прежнему выбранным эмиттером, переходим к кнопкам текстуры (F6). Добавьте новую текстуру и выберите тип текстуры Cloud (Облако). Подрегулируйте "NoiseSize:" на 0.600. (Рис 13).

Теперь вернитесь к кнопкам материалов (F5) и сделайте цвет текстуры желтым, слайдерами RGB в правой части кнопок материалов. Чтобы растянуть желтые пятна в текстуре Cloud, понизьте значение "SizeY" на 0.30.

Теперь пробный рендеринг отобразит хороший огонь. Но нам еще необходимо сделать так, чтобы частицы затухали вверху огня. Мы можем сделать это при помощи анимации материала Alpha и размера ореола (Halo Size).

Анимация для материала частиц, всегда отображаются от первых 100 кадров анимации до значения продолжительность жизни частиц. Это означает, что когда мы постепенно изменяем материал в кадрах с 1 по 100, частицы, с продолжительностью жизни 50, будут изменятся в это же время.

Убедитесь что ваша анимация находится на кадре 1 (Shift+Стрелка влево) и переместите курсор мыши в окно кнопок материалов. Теперь нажмите клавишу I и из меню выберите Alpha. Переместите кадровый счетчик на кадр 100, установите Alpha на 0.0 и вставьте еще один ключевой кадр для Alpha, клавишей I. Переключите одно из окон на окно IPO. Активируйте IPO для материалов, нажав на прямоугольную кнопку в заголовке IPO-окна и выбрав из появившегося меню Material .

Вы увидите кривую для материала Alpha (Рис 14).

Рис 14. IPO для материала огня

Теперь вы можете отрендерить анимацию. Возможно вам понадобится подстроить некоторые параметры, например, продолжительность жизни частиц. Вы можете добавить еще больше реализма к сцене анимировав освещение (или использовать направленный свет для теней) и добавить при помощи системы частиц искры для костра. Также рекомендуется анимировать эмиттеры по порядку, чтобы получить более живое пламя, или используйте более одного эмиттера (Рис 15).

Рис 15. Окончательный рендеринг.

Простой взрыв

Этот взрыв, предназначен для использования как анимированая текстура для основной сцены. Для того чтобы создать хороший, реалистичный взрыв, необходимо будет хорошо постараться. Но имейте в виду, что наш взрыв будет виден только пол секунды (Рис 16).

Рис 16. Взрыв

Как эмиттер для взрыва я выбрал IcoSphere. Чтобы сделать взрыв слегка неравномерным, я удалил некоторые вершины, выбрав их колечком (В два раза) в режиме редактирования (EditMode). Возможно, в зависимости от сцены, нужно использовать эмиттер другой формы, например, чтобы форма эмиттера соответствовала форме объекта, который мы хотим взорвать.

Мой взрыв сделан из двух систем частиц, одна для облака горячих газов и другая для искр. Я также заставил вращаться эмиттер частиц. И в добавок анимировал вращение эмиттеров, во время генерации частиц.

Материалы

Частицы для взрыва, это очень простой материал halo, с текстурой облака (cloud), искры имеют также простой материал, смотрите Рис 17 по Рис 19.

Рис 17. Материал для взрыва.

Рис 18. Материал для искр.

Рис 19. Текстура для искр и взрыва.

Анимируйте значение Alpha частиц Halo с 1.0 до 0.0 в первых 100 кадрах. Это задаст продолжительность жизни как обычно. Обратите внимание на настройки Star в материале искр (Рис 18). Это слегка придаст форму искрам. Мы конечно же могли бы использовать специальную текстуру, но, в данном случае опция "Star" самый легкий способ.

Система частиц

Рис 20. Система частиц для облака

Рис 21. Система частиц для искр

Как видно из (Рис 20) и (Рис 21), параметры, в основном, одинаковые. Разница в установках Vect для искр, и более высокое значение Norm: которое дает большую скорость искрам. Я также установил Randlife: для искр на 2.000, в результате получается неравномерная форма.

Я полагаю, что вы уже начали экспериментировать с данными параметрами. Актуальные настройки, зависят от того, чего вы хотите добиться. Попробуйте добавить еще емиттеров для осколков, дыма, и др.

Фейерверк

Кнопка, которую мы так долго не использовали, это CurMul:, расположена под кнопкой Тот:. С ней связан весь третий ряд кнопок. Подготовьте плоскость и добавьте к ней систему частиц.

Установите параметры так, чтобы частицы подымались в небо, затем увеличьте значение Mult: на 1.0. Это заставит каждую из частиц, в конце жизни, генерировать еще множество частиц-потомков. Раз каждая частица будет у нас генерировать частицы-потомки, нам необходимо поднять значение Child: приблизительно на 90 (Рис 22). Теперь при нажатии Alt-A вы увидите настоящий фейерверк.

Рис 22. Кнопки мультипликации частиц

После рендеринга вид будет не достаточно привлекательным. Это потому, что используется стандартный Halo-материал, назначенный Blender'ом. Естественно, следующие шаги описывают как назначить хороший материал.

Убедитесь что эмиттер выбран и перейдите в окно кнопок материала (F5). Добавьте новый материал и установите его тип Halo.

Рис 23. Материал для фейерверка 1

Я использовал достаточно простой halo-материал; параметры представлены на Рис 23. Теперь рендеринг анимации выглядит на много лучше, но нам нужно сделать еще кое-что

Когда эмиттер выбран, перейдите в окно кнопок редактирования (F9) и добавьте еще один материал нажав кнопку "New" (Рис 24).

Рис 24. Добавление еще одного материала для эмиттера.

Теперь снова перейдите в окно кнопок материала (F5). Вы заметите, что цвет кнопки изменился на сиреневый. Кнопка с надписью "2" указывает, что данный материал используется двумя объектами. Теперь кликните по кнопке "2" и подтвердите действие в появившемся меню. Переименуйте его с Material на "Material 2" и измените цвет halo и lines (Рис 25).

Рис 25. Материал для фейерверка 2

Переключитесь на параметры частиц и измените значение "Mat:" на "2". Отрендерьте сцену снова и вы увидите, что первая генерация частиц теперь использует первый материал, а вторая генерация материал 2! Таким образом, вы можете назначить до 16 (это максимальное количество индексов материала) материалов для частиц.

Tip | Дальнейшее улучшение
 | Для изменения материалов, вы также можете использовать IPO для материалов.

Управление частицами с помощью Решетки (Lattice)

Система частицы Blender'а, чрезвычайно мощный инструмент, и направление частиц можно определять не только силой, но и с помощью объекта lattice (решетка).

Подготовьте одиночный квадратный меш и придайте ему систему частиц, с параметрами как на Рис 26.

Рис 26. Параметры частиц

Это могло бы быть хорошо для дыма четырех маленьких огней, в безветренный день, но мы хотим закрутить его! Добавьте решетку, и примените деформацию как на Рис 27.

Рис 27. Параметры решетки

Привяжите эмиттер частиц к решетке (CTRL-P). И теперь, если выбрать эмиттер частиц, переключится к кнопкам анимации (F7) и нажать RecalcAll, вы заметите как частицы, следуют за решеткой (Рис 28 слева).

Идем дальше, вращайте каждую горизонтальную секцию решетки на 60 градусов по часовой стрелке, по наростающей, при виде сверху, так, как будто вы создаете винт. После этого перезапустите систему частиц. Результат на Рис 28 справа.

Рис 28. Эффект деформации решетки

Далее, вы можете достигнуть даже более сильных эффектов, вращая решетку больше или используя решетку с большим количеством подразделений. Если вы дадите эмиттеру материал ореола(halo) и отрендерите, вы увидите кое-что вроде как на Рис 29 слева.

Рис 29. Обычные частицы, слева; Векторные частицы, в центре; и DupliVerted-объекты справа.

Если выбрать эмиттер частиц, переключится к кнопкам анимации и нажать кнопку Vect, в кнопках управления частицами, частицы повернутся от точек к сегментам, с длиной и направлением, пропорциональным скорости частиц. Рендеринг даст результат как на Рис 29 в центре.

Если вы теперь примените опцию Duplivert объекта к эмиттеру, связав их способом parenting (CTRL-P) и нажав кнопку Duplivert, то DupliVerted-объекты будут иметь туже ориентацию, что и объект-оригинал, при обычном типе частиц, но, будут повернуты или выровнены по направлению частиц, если частицы установлены как vert. Выбирая объект-оригинал и играя с опцией Track вы можете менять ориентацию объекта (Рис 29 справа).

Статические частицы

Статические частицы полезны при создании объектов, подобно волокнам, траве, меху и растениям.

Попробуйде создать маленький персонаж, или просто шар, чтобы попробовать систему частиц. Для примера используем персонаж в виде мехового человечка. Эмиттер не рендерится, поэтому сделайте копию меша (или любой другой тип объекта, который вы используете и конвертируйте его в меш (ALT-C)). Не плохой идеей будет сделать фрактальное подразделение меша, это даст некую хаотичность. Если у вас получился слишком плотный меш, используйте опцию "Remove Doubles" с увеличенным пределом. Отрежте те части меша, где вам не нужен мех, с помощью инструмента "circle select " (выбор кольцом).

Теперь, применим систему частиц и включим опцию Static.

Рис 30. Настройки статических частиц

Используйте эти параметры Рис 30. Комбинацией опций Life и Norm вы можете регулировать длину волос. Используйте отрицательное значение z-направления, чтобы волосы изгибались. Включите опцию Face чтобы сгенерировать частицы не на вершинах, а на гранях объекта. Включите также Vect; это создаст волокно-подобные частицы. Значение опции step, определяет сколько будет сгенерировано частиц, за время их жизни. Поставьте здесь минимальное значение, чтобы получить более гладкие кривые для частиц и убедитесь, что не пропустили установку значения Rand.

Когда вы отрендерите сцену, вы увидите очень размазанные частицы. Используемый материал для статических частиц - очень важен, поэтому добавьте материал для эмиттера в контексте Shading (F5).

Рис 31. Настройки материала

Я использовал очень маленькое значение Halosize (0.001). В цифровой кнопке вы так просто это значение не увидите, поэтому кликните по ней ЛКМ , удерживая SHIFT. Включите опцию Shaded , чтобы частицы реагировали на освещение в сцене, и затем включите HaloTex. Мы будем использовать текстуру, чтобы придать форму волосам (Рис 31).

Рис 32. Установка цвета для текстуры (Colorband)

Переключитесь на подконтекст текстуры (F6) и добавьте текстуру типа Blend. Подтип текстуры Lin . Включите опцию colorband (цветовая палитра) и установите цвета как на Рис 32. У вас получится хороший блендинг, от прозрачного к фиолетовому и назад к прозрачному.

Рис 33. Настройка текстуры в кнопках материала

Возвращайтесь к кнопкам материала и убедитесь, что опция Alpha включена (правая часть кнопок материала, панель Map To). Затем, используя sizeX и sizeY придайте форму halo в виде маленького волокна (контролируйте процесс в окне предпросмотра материалов) (Рис 33).

Если у вас получился не достаточно густой мех, повысьте значение Tot или добавьте еще эмиттер. Для дополнительных эмиттеров, немног измените настройки частиц, чтобы получить более разнообразный тип волос (Рис 34).

Рис 34. Результат

<<< Пред | След >>>
Эффект Компоновки | Интерактивные частицы


Интерактивные частицы

автор: Kenneth Styrberg

Относится к Blender v2.34

Введение

Интерактивность частиц в Blender'е осуществляется двумя способами, с помощью силовых полей и отклонения.

Силовые поля

Есть два варианта силовых полей: Стандартное силовое поле - Force field , которое работает как гравитационное поле и Vortex field - вихревое поле. Вихревое поле создает эффект торнадо, с частицами расположенными по спирали, вокруг центра вихря. Стандартное силовое поле работает со всеми типами объектов. В настоящий момент силовое поле основано на точке со сферическими спадами.

Силовое поле настраивается для любого объекта. После чего, частицы будут либо отклонятся, если значение Strength (Сила) отрицательное, или притягиваться, если зачение Strength положительное. Параметр Fall-off определяет на каком расстоянии ослабевает сила (Strength).

Отклонение или отражение (Deflection)

Эта опция позволяет вам настроить любой, только меш-объект как отражатель для частиц, частицы будут отскакивать от поверхности меша. Параметр Damping управляет отскоком частиц, а параметр Rnd Damping добавляет нерегулярность к этому. Чтобы определить количество частиц, которые будут проникать сквозь меш, используйте параметр Permeability.

Note

Для правильного отражения частиц, необходимо убедиться, что нормали меша направлены в сторону эмиттера частиц.

Интерфейс

Кнопки управления интерактивностью частиц, находятся в контексте Оbject (F7), в закладке (на панели) Particle Interaction.

Рис 34. Панель Particle Interaction.

Силовое/вихревое поле (кнопки Force field и Vortex field)

  • Strength Сила поля

  • Fall-off Количество уменьшения силы, в зависимости от расстояния

После добавленя к объекту силового/вихревого поля, объект будет иметь соответствующий визуальный индикатор. Стандартное силовое поле (force field) отображается в виде серых колец Рис 35, а вихревое поле (vortex field) отображается в виде спиральных линий Рис 36.

Рис 35. Индикатор Force field.

Рис 36. Индикатор Vortex field.

Кнопки в нижней части панели, Рис 34, управляют параметрами отклонения частиц.

Note

При включении отклонения/отражения частиц (кнопка Deflection), дополнительная визуальная индикация отсутствует.

Параметры отклонения/отражения (кнопка Deflection)

  • Damping Демпфирование. Определяет количество отскакиваемых частиц.

    0.0 - Демпфирование отсутствует, частицы имеют максимальный отскок.
    1.0 - Максимальное демпфирование, частицы не отскакивают.

  • Rnd Damping добавляет случайность для демпфирования.

  • Permeability Проницаемость. Управляет количеством частиц, которые пройдут сквозь меш.

    0.0 - Меш полностью непроницаем.
    1.0 - Все частицы пройдут сквозь меш.

Когда вы настраиваете отклонение/отражение частиц, вам необходимо установить достаточно высокое значение параметра Keys (вкладка Effects). Если ваши частицы проходят сквозь меш или ударяются не там где надо, то вероятнее всего то, что значение параметра Keys слишком занижено, либо частицы (или отражатель частиц) двигаются слишком быстро.

Note

Вы можете анимировать движение меш-объекта отражающего цастицы, но в этом случае частицы могут проходить сквозь меш, если меш движется слишком быстро или меш имеет слишком сложную форму. Эту проблему можно решить (частично), если поднять значение Keys для эмиттера частиц.

После изменения любых параметров в закладке Particle Interaction, вам нужно выбрать эмиттер частиц, вернуться к закладке Effects, и нажать кнопку RecalcAll. Рис 37

Повышение параметра Keys, ведет к увеличению времени расчета частиц и забирает больше ресурсов ПК. Смотрите раздел Первая система частиц , где подробно описан процесс настройки эмиттера частиц.

Рис 37. Панель Effects.

Для всех параметров настройки отклонения/отражения частиц и силового поля, возможно использование анимационных кривых Ipo. Кривые Ipo имеют тип Object Ipo. Для подробной информации об Ipo, смотрите раздел Анимация без деформации объектов .

Пример

Рассмотрим пример, где показана работа отклонения/отражения частиц.

1. Начните со сцены по умолчанию, где в центре расположен куб.
2. При виде сверху, добавьте Mesh Circle (меш-кольцо), с 32-мя вершинами. Нажмите TAB , чтобы выйти из режима редактирования. Переключитесь на вид сбоку и переместите меш-кольцо вверх на 5 клеточек.
3. Затем уменьшите кольцо (S), до 0.1 во всех направлениях.
4. Теперь нажмите F7 и перейдите на вкладку Effects. Нажмите NEW Effect и выберите Particles. Вы должны видеть тоже, что и на Рис 37
5. Увеличте жизнь частиц с 50 до 100, изменив параметр Life на 100. Установите значение Force Z на -0.100. Если нажмете ALT-A , то вы увидете как частицы двигаются вниз, в направлении куба. Смотрите Рис 38. Сейчас частицы двигаются проходя сквозь куб, вовсе "не замечая" его. Это можно исправить!

Рис 38. Пример на 40-ом кадре.

6. Теперь выберите куб. Перейдите во вкладку Particle Interaction , включите кнопку Deflection и настройте парметры отклонения как на Рис 39.

Рис 39. Пример настройки отклонения частиц.

7. Затем, выберите кольцо и нажмите кнопку RecalcAll , во вкладке Effects. Если вы запустите анимацию, ALT-A, вы увидите, что частицы ударяются неестественно, чуть выше поверхности куба. Эта проблема вызвана слишком малым значением параметра Keys. Установите значение Keys на 50, и нажмите RecalcAll. Теперь снова запустите анимацию, и вы увидете, что частицы касаются (или почти касаются) поверхности куба.
8. Выберите куб, поверните его чуть-чуть в любую сторону, где-то на 10 градусов. Выберите меш-кольцо и нажмите RecalcAll. После чего, снова запустите анимацию, и вы увидете более естественное столкновение частиц с кубом! Смотрите Рис 40.

Рис 40. Результат.

<<< Пред | След >>>
Простые частицы | Эффект Волны


Эффект Волны

Волновой эффект добавляет движение по координате Z меш-объекта.

Рис. 3. Панель управления Волной

Воздействие эффекта волны, генерируется от данной начальной точки, определенной в цифровых кнопках Sta X и Sta Y. Эти координаты находятся в пределах данного меш-объекта (Рис. 4).

Рис. 4. Начало Волны

Эффект волновой деформации происходит от данной начальной точки и распространяется по мешу с круговыми фронтами импульса, или с прямолинейными фронтами импульса, параллельными Оси X или Y. Все это управляется двумя переключающимися кнопками "X" и "Y". Если только одна кнопка нажата - передние стороны линейные, если нажаты обе - передние стороны круговые. (Рис. 5) .

Сама волна, имеет вид гауссовоподобной ряби, которая может быть или одиночным импульсом или серией пульсаций, если кнопка Cycl нажата.

Рис. 5. Тип фронта Волны

Волна управляется двумя средствами контроля: первое, определение формы Волны , второе - продолжительность эффекта

Форма Волны управляется слайдерами "Speed" (Скорость), "Height" (Высота), "Width" (Ширина) и "Narrow" (Расстояние между Волнами)(Рис. 6).

Рис. 6. Управление фронтом Волны

Слайдер Speed управляет скоростью, в единицах на каждый кадр волны.

Слайдер Height управляет высотой, в Блендер-единицах и вдоль Z, волны.

Если нажата кнопка Cycl, слайдер Width устанавливает дистанцию, в Блендер-единицах, между самой верхней частью двух следующих друг за другом волн, и в целом, Волновой эффект задается огибающими линиями всех одиночных импульсов (Рис. 7).

Это имеет косвенный эффект на амплитуду ряби. Когда рябь имеет гауссовоподобную форму , а импульсы слишком близко друг к другу и изгиб не может достигнуть больше чем z=0. Если это так, то в этом случае Блендер фактически опускает волну целиком так, что минимум становится ноль и, следовательно, максимум ниже чем ожидаемое значение амплитуды, как показано внизу на Рис. 7.

Фактическая ширина каждого гауссовоподобного импульса, управляется при помощи слайдера Narrow, высокое значение - более узкий импульс. Фактическая ширина области, в которой одиночный импульс значительно больше нуля в Блендер-единицах, задается на 4 значения Narrow. То есть, если Narrow равно 1 тогда ширина импульса будет 4, и если Narrow - 4, то ширина импульса - 1.

Рис. 7. Характеристики фронтов Волны

Tip | Получение синусоидоподобной волны
 | Чтобы получить хороший Волновой эффект, подобный морским волнам и похожий на синусоидальную волну, необходимо, чтобы расстояние между рябью и ширина ряби была одинакова, то есть значение слайдера "Width", должно быть равно 4, плюс значению слайдера "Narrow".

И последний способ управление волной - это управление временем. Для этого есть три цифровых кнопки:

Time sta номер кадра, в котором волна начнется;

Lifetime количество кадров, в которых будет длится эффект волны;

Damptime это дополнительное количество кадров, в которых волна медленно спадает со значения амплитуды до ноля. Понижение происходит для всей ряби и начинается с первого кадра, после окончания значения "Lifetime". Рябь исчезает, после окончания количества кадров, установленных в "Damptime".

Рис. 8. Управления временем волны

<<< Пред | След >>>
Интерактивные частицы | Специальные методы моделирования


Специальные методы моделирования

автор: Claudio "malefico" Andaur

перевод: Sailor

Введение

Относится к Blender v2.31

Как только мы преодолели "лихорадку экструдирования" и начали моделировать разнообразные интересные вщи, у нас появится желание найти альтернативные способы моделирования для выполнения конкретного задание. Есть группа методов моделирования в Blender'е, которые не только делают нашу задачу моделирования проще, но и иногда делают это возможным.

Эти так называемые "специальные" методы моделирования затрагивают не только некую манипуляцию с вершинами, но и использование неинтуитивных процедур, которые требуют от пользователя более глубоких знаний или опыта, чем средний новичок.

В этой главе, мы подробно опишем эти методы и объясним их полезность в ситуациях моделирования, в которых не было другого способа для решения задачи.

<<< Пред | След >>>
Эффект волны | Копия на каждой вершине (Dupliverts)


Копия на каждой вершине (Dupliverts)

Относится к Blender v2.31

"DupliVerts" это не рок-группа и ни какое-нибудь голландское слово (хотя, все может быть:о)), это просто сокращение от словосочитания "DUPLIcation at VERTiceS" (ДУБЛИкат на ВЕРшинах). Это подразумевает что копия (дубликат) базового объекта, будет расположена на вершинах другого меша (включая систему частиц).

Есть два способа моделирования с использованием DupliVerts. Они могут использоваться как инструмент для размещения, позволяя нам моделировать геометрическое расположение объектов (например: колонны Греческого храма, деревья в саду, армия солдат-роботов, парты в классе).. Базовым объектом может быть любой объект поддерживаемый Blender'ом.

Второй способ состоит в том, чтобы использовать копии (дубликаты) объектов для моделирования одиночных объектов (например: колючки морского ежа, плитка на стене, лепестки цветка и т.д.).

DupliVerts как инструмент для размещения

Все что вам нужно, это базовый объект (например: "дерево" или "колонна") и меш, вершины которого будут расположены там, где вам необходимо.

Для этого примера, я использую простую сцену. Она состоит из камеры, ламп, плоскости (для пола) и персонажа странного мужика, которого я смоделировал (Рис 1). Если вы не любите сюрреализм, то эта часть вам покажется чрезвычайно скучной.

Рис 1. Простая сцена для эксперементов.

В любом случае, мужик будет в качестве "базового объекта". Хорошей идеей будет разместить его в центре системы координат и очистить все данные о вращении. Поместите курсор в центр базового объекта, и при виде сверху, добавьте в сцену меш-кольцо, приблизительно с 12-ю вершинами (Рис 2).

Рис 2. Родительским мешем может быть любой примитив.

Покиньте режим редактирования, выберите базовый объект и затем выберите кольцо (порядок выбора в данном случае очень важен). Привяжите базовый объект к кольцу способом "родитель>потомок" CTRL-P. Теперь кольцо будет "родителем" для персонажа (Рис 3). Почти готово.

Рис 3. Мужик "привязан" к кольцу.

Рис 4. Кнопки анимации

Теперь выберите только кольцо, переключитесь к контексту Object (через [image] или F7) и затем нажмите кнопку DupliVerts, на пнели Anim Settings (Рис 4).

Рис 5. Мужик на каждой вершине кольца.

Ух-ты, правда круто?! Не переживайте об объекте по центру кольца (Рис 5). Он по-прежнему виден в 3D-окне, но он не будет отрендерен. Теперь можете выбрать базовый объект, изменить (масштабировать, вращать, редактировать) его и все объекты, получившиеся в результате DupliVerts, будут реагировать на любое изменение. Но больше интересного можно увидеть когда вы подредактируете кольцо.

Note

Базовый объект не рендерится если он результат DupliVerts для меша, но он будет отрендерен, если DupliVerts используется с системой частиц!

Выберите кольцо и масштабируйте его. Вы заметите, что загадочный мужик тоже равномерно меняет размер. Теперь для кольца включите режим редактирования, выберите все вершины A и увеличте размер в три раза. Выйдите из режима редактирования и объекты получившиеся в результате DupliVerts, тут же обновятся (Рис 6). На этот раз размер объектов сохранился прежним, а дистанция между ними изменилась. Мы можем не только масштабировать в режиме редактирования, но и добавлять или удалять вершины, для изменения размещения мужика.

Рис 6. Изменение размера кольца в режиме редактирования.

Снова в режиме редактирования выберите все вершины и скопируйте их (SHIFT-D). Теперь увеличте получившееся второе кольцо, так чтобы оно было за пределами оригинального. Выйдите из режима редактирования и тут же появится еще одно кольцо мужиков (Рис 7).

Рис 7. Второй ряд мужиков.

До сих пор, все мужики смотрели на камеру, игнорируя друг друга. Можно получить еще более интересные результаты, если использовать кнопку Rot, рядом с кнопкой DupliVerts, на панели Anim Settings. Когда эта кнопка включена, мы можем вращать объекты DupliVerts, соответственно нормалям родительского объекта. Точнее говоря, оси объектов DupliVerts, будут выровнены с нормалями.

Какая ось будет выровнена (X, Y или Z) с нормалью родительского меша, зависит от кнопок TrackX, Y, Z и UpX, Y, Z , в верхней части панели Anim Settings. Проверьте это на нашем приятеле-персонаже, это приведет к сверхъестественным результатам в зависимости от настройки этих параметров.

Лучший способ выяснять что случится, это выравнять сначала ось "базовых" и "родительских" объектов с Мировой осью. Для этого выберите оба объекта и нажмите CTRL-A и подтвердите диалог Apply Size/Rot?.

Рис 8. Отображение осей объекта.

Затем, сделайте оси базового объекта, а также оси и нормали родительского объекта видимыми (Рис 8 в данном случае у нас кольцо, а кольцо не имеет граней. Поэтому сначала создайте грани для кольца, после чего будут отображаться нормали).

Теперь выберите базовый объект (мужика) и немного поиграйте с кнопками тракинга (TrackX....). Посмотрите на различные комбинации совмещений осей и комбинаций с кнопками UpX, Y, Z и TrackX, Y, Z (Рис 9, Рис 10, Рис 11, Рис 12).

Рис 9. Отрицательная ось Y выровнена с нормалью (указывает в центр кольца)

Рис 10. Положительная ось Y выровнена с нормалью

Рис 11. Положительная ось Х выровнена с нормалью

Рис 12. Положительная ось Z выровнена с нормалью (сверхъестественно, да?)

DupliVerts для моделирования одиночных объектов.

Можно сделать очень интересные модели, используя DupliVerts и стандартные примитивы.

Начнем с куба, при виде спереди, добавьте куб и екструдируйте его несколько раз. Я смоделировал что-то похожее на щупальце, используя SubSurf (Рис 13). Затем я добавил сферу, с подразделением 2.

Рис 13. "Щупальце".

Я специально позаботился, чтобы щупальце распологалось в центре сферы, а также чтобы оси сферы и щупальца были выровнены с мировыми осями, как в предыдущем случае (Рис 14).

Рис 14. Локальные оси "щупальца".

Теперь, просто привязываем ико-сферу к щупальцу, способом "родитель>потомок". Выберите сферу и включите DupliVert на панели Anim Settings (Рис 15).

Нажмите кнопку Rot , чтобы вращать щупальце (Рис 16).

Рис 15. DupliVerts без вращения.

Рис 16. DupliVerts с вращением.

И опять же, чтобы заставить щупальца смотреть наружу, нам нужно по-ближе посмотретьна их оси. После включения Rot, Blender будет стараться выровнять ось каждой щупальцы с вектором нормали на каждой родительской вершине.

Мы не позаботились о родительском кольце для мужика, но здесь, нам надо уделить внимание сфере, и как вы потом заметите, что она не рендерится. Чтобы закончить модель, вам возможно, необходимо будет добавить обычную сферу.

Вы можете поиграться со щупальцой в режиме редактирования, перемещая ее вершины дальше от центра сферы, но чтобы сохранить симметричную форму, центр щупальцы должен быть всегда в центре сферы. Однако постарайтесь не масштабировать объект по одной оси, в объектном режиме, потому что при использовании DupliVert с включенной кнопкой Rot, это приведет непредсказуемым результатам.

Рис 17. Готовая модель.

После того как модель готова и вы довольны результатом, можете выбрать щупальцу и нажать SHIFT-CTRL-A затем подтвердить меню Make duplis real ? Этим вы преобразуете виртуальные копии в реальные меши (Рис 17).

Масштабирование в объектном режиме, с включенным Rot для DupliVerts-объектов, может создать небольшие проблемы, о которых вы узнаете позже.

<<< Пред | След >>>
Специальные методы моделирования | Копия на каждый кадр(Dupliframes)


Копия на каждый кадр (Dupliframes)

Относится к Blender v2.31

Вы можете использовать DupliFrames двумя разными способами: инструмент для размещения или моделирования. В некотором смысле, DupliFrames весьма похож на DupliVerts. Разница состоит в том, что при использовании DupliFrames мы размещаем наши объекты вдоль кривой, а не на вершинах меша.

DupliFrames это сокращение от DUPLIcation at FRAMES (ДУБЛИкат в КАДРАХ), и является очень удобным методом моделирования, для объектов которые повторяются на протяжении заданного пути. Например, шпалы на железной дороге, доски забора или звенья цепи, а также удобен для моделирования сложных кривых объектов, таких как штопор, морские раковины и спирали.

Моделирование с использованием DupliFrames

Давайте смоделируем цепь, используя DupliFrames.

Для начала, нам нужно смоделировать одно звено. Для этого, при виде спереди добавьте Curve Circle (кривая-кольцо) (Bйzier или NURBS). В режиме редактирования, подразделите его один раз и переместите немного вершины так, чтобы получилась форма как на (Рис 18).

Рис 18. Контур звена

Выйдите из режима редактирования и добавьте Surface Circle (поверхность-кольцо) (Рис 19). NURBS-поверхности то что надо для этой цели, потому что после создания, мы сможем легко изменить его разрешение и если необходимо, конвертировать в меш-объект. Очень выжно не перепутать Curve Circle и Surface Circle. Curve Circle хорошо подходит для формы звена, но не годится для skinning'а (cоздание поверхности). Surface Circle послужит нам в качестве поперечного сечения.

Рис 19. Сечение звена.

Теперь привяжите Surface Circle к Curve Circle (контур звена) способом "родитель>потомок", как Normal (не Curve Follow constraint). Выберите Curve Circle и в котексте Object , на панели Anim Settings , нажмите кнопку CurvePath и CurveFollow (Рис 20).

Рис 20. Настройки кривой: Curve Path и Curve Follow.

Возможно что Surface Circle может сместится. Тогда просто выберите его и нажмите ALT-O , чтобы обнулить координаты расположения (Рис 21).

Рис 21. Обнуление координат.

Если вы нажмете ALT-A , то увидите как кольцо (Surface Circle) движется вдоль кривой (Curve Circle). Теперь, чтобы кольцо было перпендикулярно кривой, вам нужно задействовать кнопки анимации TrackX, Y, Z и UpX, Y, Z (Рис 22).

Рис 22. Выбор правильной оси.

Теперь, выберите Surface Circle и перейдите на панель Anim Settings и нажмите кнопку DupliFrames. После этого, вдоль пути (Curve Circle) появятся копии (дубликатов) круглого поперечного сечения (Surface Circle) (Рис 23).

Рис 23. DupliFrames!

Нужное количество колец можно настроить с помощью кнопок DupSta, DupEnd, DupOn и DupOff . Эти кнопки управляют началом (Start) и концом (End) процесса создания копий (дубликатов), количество копий за раз, а также, смещение (Offset) между копиями. Если вам нужно чтобы звено осталось открытым, поиграйте с параметром DupEnd (Рис 24).

Рис 24. Параметры для DupliFrames. Оратите внимание, что "DupEnd: 35" завершает звено, перед концом кривой.

Теперь, переконвертируйте копии колец в настоящие NURBS-объекты, для этого выбираем Surface Circle и жмем CTRL-SHIFT-A. Подтвердите запрос в появившемся меню OK? Make Dupli's Real (Рис 25).

Рис 25. Конвертация.

Не снимайте выделения с объектов. У нас получился набор NURBS, который формирует контур нашего объекта, но так как нет самой поверхности, звено не будет отображаться в теневом режиме и при рендеринге. Для того чтобы сделать поверхность звена, нам нужно сначала объеденить все кольца в один объект. Не снимая выделения с колец, нажмите CTRL-J и подтвердите запрос. Далее, перейдите в режим редактирования и выберите все вершины A (Рис 26). Теперь жмите F и Blender автоматически создаст цельный объект. Эта операция подробно описана в разделе "Cоздание поверхности (Skinning)".

Рис 26. Cоздание поверхности (Skinning) для звена.

После того как вы выйдите из режима редактирования, вы увидите цельный объект, но он сильно темный. Чтобы исправить это, снова включите режим редактирования, выберите все вершины и нажмите W. Из меню выберите Switch Direction и покиньте режим редактирования. Теперь объект будет отображаться нормально(Рис 27).

Созданный нами объект это реальный NURBS-объект. Это означает, что вы можете его редактировать далее (если нужно) и менять разрешение в кнопках редактирования.

Разрешение регулируется кнопками ResolU и ResolV. Вы можете работать с объектом установив низкое разрешение, а уже перед рендерингом увеличить. Сами NURBS-объекты не большие и сохраненный файл со сценой имеет маленький размер.

Теперь вы можете удалить кривую, которая была контуром звена, она нам больше не нужна.

Рис 27. Готовое звено.

Размещение объектов с помощью DupliFrames

Теперь продолжим моделировать саму цепь. Для этого, добавьте кривую типа Curve Path (можно использовать и другую кривую, но эта подходит больше). Далее, в режиме редактирования, перемещая вершины кривой добейтесь похожей формы (Рис 28). Если вы используете кривую не Curve Path, тогда в окне кнопок редактирования, нажмите кнопку 3D, чтобы кривая стала трехмерной.

Рис 28. Использование Curve Path для моделирования цепи.

Выберите объект "Звено", который мы создали ранее, и привяжите его к кривой Curve Path, способом "родитель>потомок" как "Normal". Так как мы используем кривую типа Curve Path, опция CurvePath в кнопках анимации, будет активирована автоматически. Необходимо также активировать опцию CurveFollow. (Рис 29).

Рис 29. Настройки кривой.

Если звено сместится, тогда обнулите его координаты размещения ALT-O. Теперь проверьте нашу анимацию ALT-A.

Теперь снова выбрав звено, перейдите к контексту Object, на панель Anim settings. Нажмите кнопку DupliFrames как и в прошлый раз. Поиграйте с опциями DupSta:, DupEnd: и DupOf:. Обычто мы используем DupOf: 0 , но такое значение расположит звенья нашей цепи слишком близко друг к другу. Вам нужно уменьшить значение PathLen для кривой, в кнопках редактирования, на панели Curve and Surface, а затем соответственно количеству звеньев, изменить значение DupEnd: (Рис 30).

Рис 30. Настройка DupliFrames.

Нам нужно чтобы звено, перемещаясь вдоль кривой, вращалось на 90 градусов, по отношению к предыдущему звену. Для этого, выберите звено и нажмите в кнопках редактирования, кнопку Axis , чтобы отобразить оси объекта. Теперь вставьте ключевой кадр вращения, по оси, которая параллельна кривой. Преместитесь на 3-4 кадра вперед и прокрутите звено по этой оси, нажав R , затем X-X (X дважды), Y-Y, или Z-Z для вращения по локальным осям X, Y или Z соответственно (Рис 31).

Рис 31. Вращение звена.

Откройте IPO-окно, для редактирования вращения звена вдоль кривой анимации. Выберите режим Extrapolation , для того чтобы звено вращалось аж до конца кривой. Вы можете отредактировать вращение, с помощю IPO-кривой, так чтобы каждое звено, вращалось каждый раз четко на 90 градусов (каждое звено на кадр). Нажмите N и установите точные координаты точек кривой X=2.0 и Y=9.0, что будет соответствовать 90 градусам на 1 кадр (от кадра 1 к кадру 2).

Вот теперь у нас получилась классная цепь (Рис 32)!

Рис 32. Цепь.

Еще Анимации и Моделиования...

Вы можете не ограничеваться только Curve Paths для создания ваших моделей. Здесь кривая нужна была для удобства, но есть случаи когда она вовсе не нужна.

При виде спереди, добавьте Surface Circle (теперь вы уже знаете почему Рис 33). Подразделите его один раз, и перемещая вершины, добейтесь трапециевидной формы (Рис 34).

Рис 33. Surface Circle.

Рис 34. Трапециевидное поперечное сечение.

Теперь поверните ве вершины на пару градусов и переместите их на несколько единиц вправо или влево по оси X (но при том же самом расположении Z). Можете использовать CTRL, чтобы сделать это точно. Выйдите из режима редактирования (Рис 35).

Рис 35. Расположение трапециевидного поперечного сечения.

Теперь, все что нам нужно, так это отредактировать IPO-кривую анимации. Если хотите, можете назвать этот метод "Моделирование с помощью Анимации". Больше режим редактирования для сечения нам не нужен.

Переключитесь на вид сверху. Вставьте ключевой кадр в кадр 1, перейдите на 10 кадров вперед и поверните сечение на 90 градусов, по отношению к его новому расположеню. Теперь вставьте еще один ключевой кадр. Теперь откройте IPO-окно и установите режим для IPO вращения, режим Extrapolation (Рис 36).

Рис 36. IPO вращения для сечения.

Вернитесь в кадр 1 и вставьте ключевой кадр для размещения (Loc). Переключитесь на вид спереди. Перейдите в кадр 11 (просто нажмите СТРЕЛКУ ВВЕРХ) и сдвиньте сечение по оси Z на пару клеток. Вставьте еще один ключевой кадр для размещения (Loc). В окне IPO, установите параметр кривой LocZ в режим Extrapolation (Рис 37).

Рис 37. IPO перемещения для сечения.

А теперь, разумеется, идем к кнопкам анимации и жмем кнопку DupliFrames. Вы увидите как наше сечение поднимится в 3D-пространстве, формируя объект похожий на пружину. Это круто, но мы хотим большего. Выключите пока DupliFrames.

В первом кадре, уменьшите сечение почти до нуля и вставьте ключевой кадр для размера (Size). Перейдите дальше в кадр 41 и обнулите данные размера, с помощью ALT-S. Снова вставьте ключевой кадр (Size). Этот тип IPO не может иметь режим Еxtrapolation, ведь нам не нужно бесконечное увеличение сечения, правильно?! (Рис 38)

Рис 38. IPO размера.

Если вы сейчас нажмете DupliFrames, то вы увидите классный контур штопора (Рис 39). И снова, как завершающий этап, сделайте все секции реальными (CTRL-SHIFT-A), объедините их (CTRL-J), выберите все вершины (A) и создайте поверхность для сечений (F). Если нужно переключите направление (W) и покиньте режим редактирования (Рис 40).

Рис 39. Штопор, созданный с помощью анимации.

Рис 40. Готовая модель.

Как видите это достаточно простой пример. Если еще подредактировать IPO-кривые, то вы получите еще более интересные результаты и более сложные модели. Просто включите свое воображение.

<<< Пред | След >>>
Копия на каждой вершине (Dupliverts) | Моделирование с помощью решёток


Моделирование с помощью решёток

Относится к Blender v2.31

Объект решетка (Lattice), состоит из невизуализируемой 3D-сетки и вершин. Ее основное применение, это придать особую деформацию для дочерних объектов (объектов-потомков). Эти дочерние объекты могут быть любых типов: меши, поверхности и даже частицы.

Почему вам нужно использовать для деформации решетку, а не просто деформировать сам меш в режиме редактирования?

Вот несколько причин:

  1. Прежде всего, это намного легче. Так как ваш меш может иметь огромное количество вершин, то перемещение или масштабирование их будет очень тяжелой задачей. При использовании решетки ваша работа на много упрощается, вам потребуется перемещать всего лишь пару вершин.

  2. Это красивее. Деформация после решетки смотрится намного лучше!

  3. Это быстрее! Вы можете разместить все или несколько объектов в скрытые слои и деформировать их одновременно.

  4. Это практично. Решетка позволяет получать различные версии меша, используя минимум ресурсов и времени. Это дает сцене оптимальный дизайн, и сводит к минимуму затраты на моделирование. Решетка не влияет на координаты текстуры меша. Поэтому это лучший способ сделать незаметные изменения меша.

Как это работает?

Решетка всегда начинается как сетка из вершин 2 x 2 x 2 grid (выглядит как обычный куб). Вы можете изменять ее размер в объектном режиме, а также разрешение, в кнопках редактирования, на панели Lattice (кнопки U, V, W).

После этого вы можете деформировать решетку в режиме редактирования. Если есть дочерний объект, то деформация отображается на нем. Изменение значений решетки U, V, W , возвращает ее в исходную позицию.

Теперь мы рассмотрим простой пример, где решетка облегчет и ускоряет работу моделирования.

Я создал очень простую вилку, используя плоскость и несколько подразделений. В действительности, вилка смотрится уродливо, но это все что мне надо. И с боку она совершенно плоская, без изгиба. Да, она действительно не красивая (Рис 41). Есть еще очень важная деталь: вилка должна быть достаточно подразделена, чтобы получить гладкую деформацию. Вы не сможете согнуть сегмент между вершинами!

Рис 41. Не красивая вилка.

Теперь, при виде сверху, добавьте решетку (Lattice). Преред тем как изменить разрешение решетки, увеличте ее так, чтобы она полностью охватывала вилку по ширине (Рис 42). Это очень важно. Так как я хочу использовать для решетки малое количество вершин (ведь не имеет смысла, иметь такое количество вершин для решетки как и у меша, правильно?), мне нужно сохранить низкое разрешение, но увеличить длину.

Рис 42. Решетка 2x2x2.

Установите решетке неоходимое разрешение, чтобы увеличить ее длину (Рис 43).

Рис 43. Используйте подходящее разрешение, без преувеличения.

Теперь все готово для самой веселой части. Привяжите вилку к решетке, способом "родитель-потомок", выбрав сначала вилку, а потом решетку и нажав CTRL-P. Войдите в режим редактирования для решетки и начинайте выбирать и перемещать вершины (Рис 44). Возможно вы захотите изменять размер по оси X или Y по отдельности, чтобы получить больше контроля над глубиной решетки (постарайтесь не сделать вилку слишком тонкой или слишком толстой).

Рис 44. Деформация решетки - это удовольствие!

Заметьте, если вилку перемещать внутри решетки, то деформация будет действовать на разные части меша.

После того, как вы закончите все операции в виде спереди, переключитесь на вид сбоку. Выберите вершины и перемещая их, добейтесь подходящего изгиба для вилки, как на Рис 45.

Рис 45. Изгибаем вилку.

Теперь, если вы не собираетесь добавлять еще какие-нибудь дочерние объекты, можете избавится от решетки. Но перед этим обязательно сохраните деформацию! Просто выберите вилку и нажмите CTRL-SHIFT-A и подтвердите диалог Apply Lattice Deform?.

Tip | Сумасшедшие вершины
 | В редких случаях, применение CTRL-SHIFT-A для очень сложных мешей, может сильно исказить вашу модель. Но, на самом деле это не так. Просто войдите и выйдите из режима редактирования (TAB) и ваш меш будет такой как вы и планировали.

Рис 46. Класная вилка.

Можно использовать решетку чтобы заставить объект следовать форме другого объекта. Для примера, гляньте на сцену ниже. Я смоделил бутылку и хочу поместить в неё персонаж человечка. Он это заслужил (Рис 47).

Рис 47. Плохой парень...

Добавьте решетку вокруг персонажа. Я не использую высокое разрешение для решетки. Я установил параметры X и Y, так чтобы подогнать решетку к форме персонажа (Рис 48).

Рис 48. Подгонка решетки.

Привяжите персонаж к решетке (вы уже знаете как это сделать CTRL-P). Затем, подгоните решетку по форме бутылки (Рис 49).

Рис 49. Подгон решетки к форме бутылки.

Теперь включите режим редактирования для решетки. На панели Lattice нажмите кнопку Outside, чтобы выключить внутринние вершины. Потом мы их снова включим. Премещайте и масштабируйте вершины до тех пор, пока персонаж не будет подогнан точно по форме бутылки (Рис 50).

Рис 50. Отредактируйте решетку так, чтобы парню было комфортно в бутылке.

Для удобства, можно моделить в одном 3D-окне, при локальном просмотре, а результат наблюдать в другом (Рис 51).

Рис 51. Клаустрофобия?

Если бы не решетка, то нам бы понадобилось на много больше времени и труда, чтобы деформировать персонаж (Рис 52).

Кроме того, решетка поддерживает RVK-анимацию (Relative Vertex Keys, Относительные ключи вершин), а значит можно получить очень интересные эффекты.

Рис 52. Заключительный рендеринг. Поверьте, он это заслужил!

Решетку можно применять в разных ситуациях, а особенно там, где нужна "жидкообразная" деформация меша. Представьте себе джина вылетающего из лампы или мультяшного персонажа, у которого от удивления выпучиваются глаза, увеличиваясь в размере... Во прикольно!

<<< Пред | След >>>
Копия на каждый кадр(Dupliframes) | Мягкие тела


Система мягких тел в Blender'е

Введение

Относится к Blender v2.37

Система мягких тел в Blender'е позволяет вершинам двигаться основываясь на законах физики. Это означает, что они могут реагировать на ветер и гравитацию. (Тоесть можно создавать эффекты ткани, которая развивается на ветру, деформацию резинового мячика и т.д. - прим. перевод.) На данный момент Blender'е (релиз 2.37) только два типа объекта могут использовать эффект мягкого тела, это объекты типа Mesh и Lattice.

Первоначально Система мягких тел была предназначена для лучшения системы анимации, включая анимацию персонажей. Теперь, можно легко добиться эффекта подобного гибкой или волнистой поверхности (кожи).

В демо файлах 2.37 (4 MB) вы найдете два файла с примерами эффекта мягкого тела: softbody_basics.blend и wind_soft.blend http://download.blender.org/demo/test/test237a.zip.

Основы

Существует два основных метода для контроля эффекта мягких тел:

Goal - Goal (Цель) действует на выбранные вершины как булавка; контролирует сколько эффект будет воздействовать на них.

Когда параметр Goal полностью задействован (1.0), обьект будет вести себя как любой обычный анимированный объект (эффект мягкого тела отсутствует). А когда параметр Goal установлен на 0.0, на объект действуют только законы физики. Установив значение Goal между 0.0 и 1.0, вы можете смешивать эффекты от системы анимации и мягкого тела.

Goal также служит как память, предотвращая черезмерную деформацию мягкого тела.

Используя систему воздействия на вершины (Vertex Group weight system), вы можете определить влияние Goal на каждую вершину. Чтобы это выглядело более естественно, можно использовать параметр Springs (смотрите ниже), который определяет на сколько вершины могут перемещаться от их первоначальной позиции.

Springs - Edge Spring Stiffness (упругость ребер ) определяет сколько ребра будут в состоянии сохранять свой оригинальный размер. Например, если добавить во внутрь куба дополнительное ребро, то он станет более упругим (менее "желеобразным"). Подстройкой параметра E Stiff можно заставить объект сохранять (больше или меньше) свою первоначальную форму, но в тоже время оставляя ему возможность свободно двигаться.

Примечание

Когда вы включаете эффект мягкого тела для объекта, он всегда будет воспроизводится вперед (во времени). Движение назад или прыжок более чем в 9 кадров, вернет мягкое тело в его первоначальную позицию. Используйте новое окно TimeLine в котром можно сделать эффект мягкого тела более интерактивным.

После того как вы произвели все настройки симуляции мягкого тела и модель вас устраивает, вы можете использовать опцию Bake (дословно - выпеч, или приготовить ) симуляцию в статическую систему анимации. Анимация "испеченного" мягкого тела воспроизводится на много быстрее и больше уже не зависит от симуляции.

Примечание

Рекомендуется использовать опцию Bake для мягких тел во время рендеринга, потому что симуляция не правильно работает с Motion Blur (размытие во время движения), а также используте Bake при рендеринге маленькими частями через систему визуализации по сети.

Использование эффекта мягкого тела для моделирования ткани, особенно при контакте с другими объектами, находится на данный момент на стадии тестирования. Данный код требует некоторых усовершенствоаний, которые запланированы в ближайших релизах Blender'а. Для более тонкого управления симуляцией ткани, в следующих релизах мы добавим также опции для ребер. На данный момент, все ребра имеют одинаковый эффект на мягкое тело.

Когда вершины мягкого тела настроены как частицы, для него также применимы такие опции как Force fields (силовое поле) и Deflectors (отражатели). Обратите внимание, что отражение (столкновения) работает только на недеформируемых мешах (не используйте зацепы, арматуру, решетки и т.д.). За большей информацией обращайтесь к примечанию для релиза.

Интерфейс

Опции для настройки мягких тел находятся в панели Object, (F7) вкладка Softbody . Смотрите Рис 23.1.

Рис 23.1 Настройки эффекта мягкого тела.

Настройки эффекта мягкого тела

  • Enable Soft Body - Включает систему мягких тел для выбранного объекта.

  • Bake settings - Открывает настройки "выпечки" (Bake). Смотрите Рис 23.2.

  • Friction (Трение) - Устанавливает силу трения. Чем выше значение, тем легче Gravity (Гравитация) или Wind (Ветер), сможет перемещать объекты.

  • Grav - Гравитация, количество силы, которая направлена в отрицательном направлении по оси Z. Гравитация Земли равна приблизительно 9.8.

  • Error Limit (Лимит ошибок) - Предел Runge-Kutta. Эта опция определяет размер шагов во время симуляции. Маленькое значение дает наибольшую точность, но повышает время вычисления.

  • Mass (Масса) - Определяет массу вершин. Большая масса замедляет движение, но не для гравитации, где движение есть константа и не зависит от массы.

  • Speed (Скорость) - Этой опцией вы можете контролировать внутреннюю скорость мягкого тела.

  • Apply Deform First (Сначала применить деформацию) - Эта опция позволяет применить эффект мягкого тела после деформации объекта Арматурой или Решеткой.

  • Use Goal (Использовать Цель) - Для симуляции использует движение из анимации (Ipo, Deform, Parents, и т.д.). "Goal" (Цель) это желаемая конечная позиция для вершин основанных на этой анимации. Достижение этой "Цели" управляется силой упругости и демпфирования (Damp).

  • Goal (Цель) - Значение "цели" по умолчанию если не назначена группа вершин (Vertex Group). Если группа вершин назначена и используется то эта кнопка будет отображать и название группы вершин.

  • G Stiff - Пружинная упругость для Goal. Низкое значение дает больше эластичности, а высокое - больше упругости.

  • G Damp - Значение трения для Goal. Высокое значение увеличивает демпферный эффект на мягкое тело.

  • G Min/G Max - Когда вы задаете значение воздействия на вершины с помощью окрашивания (используя WeightPaint), то для более точной настройки можно использовать GMin и Gmax. Самое низкое воздействие (синий цвет) будет соответствовать GMin, а самое высокое (красный цвет) - GMax.

  • Use Edges (Использовать ребра) - Ребра меш-объекта могут работать как пружины (если есть, проверьте Editing->Mesh Panel).

  • Stiff Quads - Если для граней включена опция quad , то диагональные ребра будут использоваться как пружины. Это предотвращает полное ослабевание граней.

  • E Stiff - Пружинная упругость для ребер (т.е. определяет насколько они прочные). A низкое значение означает очень малую упругость (очень гибкий материал), а высокое значение соответствует большой жесткости (жесткий материал).

  • E Damp - Сила трения для граней. Высокое значение снижает трение (т.е. "смазывает" ребра "смазкой").

Рис23.2 Bake settings.

Bake settings (Настройки "выпечки")

  • Start/End (Начало\Конец) - Устанавливает пределы симуляции мягкого тела для "выпечки".

  • Interval - Устанавливает количество кадров между каждым "шагом" "выпечки" ( "разрешение" "испеченного" результата). Среднее положение будет просчитано используя шаг как ключевой кадр, с би-сплайновой интерполяцией.

  • Bake - Запускает процесс выпечки. В зависимости от сложности, может занять некоторое время. Остановить процесс можно нажав кнопку ESC. После окончания процесса "выпечки", эта кнопка изменит свое название на "Free Bake". Используйте эту кнопку, когда вам нужно подредактировать (изменить) эффект мягкого тела.

Пример

Наш пример продемонстрирует вам как сделать простой флаг, развивающийся на ветру.

Создайте плоскость при виде сверху и подразделите ее три раза. Перейдите к кнопкам редактирования F9 и активируйте опцию Subsurf. Установите уровень Subsurf на 2. Нажмите Set Smooth.

Давайте теперь добавим две "булавки" в верхний и нижний угол нашей плоскости:

  • Создайте новую группу вершин (Vertex Group), и установите значение Weight на 0. Выберите все вершины и нажмите кнопку Assign.

  • Теперь, выберите верхний и нижний (вершину) угол с одной стороны "флага". Установите значение Weight на 1.0, и нажмите кнопку Assign снова. Это заставит эти вершины оставаться на месте во время симуляции мягкого тела (они будут как бы "пришпилены булавками" или "прибиты гвоздями"). В режиме Окраски вешин (Weight Paint Mode) вы должны будете увидеть что-то пожее на Рис 23.3.

  • Далее, выйдите из режима редактирования и перейдите на панель Softbody, контекст Object F7. Кликните по кнопке Enable Soft Body. Увеличте значение Grav на 9.8. Активируйте кнопку Use Goal . Нажмите маленькую кнопку, рядом с Use Goal и выберите назавние Группы вершин (Vertex Group) чтобы использовать ее как цель, в нашем случае это будет название по умолчанию Group. Теперь установите упругость (жесткость) для ребер E Stiff на 0.9, установите Mass на 0.5, Friction на 0.14 и Speed на 2.

  • Теперь можете нажать ALT-A и вы увидите как "флаг" реагирует на гравитацию.

Рис 23.3 Пример настройки Weight.

Example Weight Setting.

А сейчас добавим небольшой ветерок:

  • Добавьте в сцену объект Еmpty, там где у нас будет источник ветра. Выберите вкладку Particle Interaction и нажмите кнопку Wind. Установите Strength на 1. Теперь выставьте объект Еmpty так, чтобы ось Z указывала на "флаг". Смотрите Рис 23.4 .

Подсказка

Вы можете времмено увеличить значение Strength (Сила) для того, чтобы эффект ветра был более заметным.

  • Теперь нажмите ALT-A и увидите как "флаг" реагирует на ветер.

  • Добавьте кривую IPO, чтобы симулировать изменение силы ветра, это добавит в анимацию больше реализма. Смотрите Рис 23.5.

Рис 23.4 Настройка ветра.

Example Wind setup.

Рис 23.5 IPO для силы ветра.

Example Wind Strength IPO.
<<< Пред | След >>>
Моделирование с помощью решёток | Эффекты объема


Эффекты объема

Относится к Blender v2.31

Несмотря на то, что Blender имеет встроенную эмуляцию тумана (Mist, в кнопках настройки Мира окружающей среды), который дает вашей сцене эффект объёма, вам может понадобится создать реальный эффект объема. Например, туман, дым и облака, кторые в действительности занимали бы какое-то пространство.

Рис 1 показывет сцену с колоннами, расположенными по кругу, почву под ними, а также небо. Назначте материал объектам на ваш выбор.

Рис 1. Колонны на плоскости.

На Рис 2 показан сравнительный рендеринг, где нет тумана, а на Рис 3 включен встроенный в Blender эффект тумана. Настройки тумана для данного случая: Linear Mist, Sta=1, Di=20, Hig=5.

Рис 2. Обычный рендеринг.

Рис 3. Рендеринг со встроенным в Blender эфектом тумана.

Но мы хотим создать более реалистичный, неравномерный туман, как в природе. Встроенные в Blender процедурные текстуры (напимер облака, Clouds), по сути 3D, но когда рендерятся, они проецируются на 2D поверхность. Мы получим эффект объема, используя текстуру, наложенную на серию паралельных друг другу плоскостей. Каждая из этих плоскостей, будет отображать текстуру на своей 2D-поверхности, но общий эффект будет как у 3D-объекта.

Расположите камеру так, чтобы z=0 и она смотрела вперед. Переключитесь на вид спереди и добавьте плоскость прямо перед камерой, так чтобы центр плоскости был расположен напротив направления просмотра камеры. При виде сбоку, переместите плоскость туда, где вы хотите, чтобы эффект объёма заканчивался. В нашем примере, это где-то чуть дальше самой дальней колонны. Увеличте плоскость так, чтобы она перекрывала весь вид изкамеры (Рис 4). Очень важно, чтобы камера "смотрела" точно по оси Y, так как нам нужно чтобы плоскости были ортогональны линни просмотра. Но, в любом случае, мы сможем их потом передвинуть.

Рис 4. Расположение плоскости.

Теперь убедитесь, что мы в первом кадр и добавьте ключевой кадр (I, Loc). Тепрь перейдите в кадр 100, переместите плоскость поближе к камере и снова добавьте ключевой кадр (Loc). Далее, в контексте Object , панель Anim Settings (F7), нажмите кнопку DupliFrame.

После этого, 3D-окно при виде сбоку будет выглядеть примерно так Рис 5. Но это не совсем то, потому что плоскости находятся плотнее друг к другу в начале и конце всей анимации. Когда плоскость по прежнему выбрана, переключитесь в IPO-окно (SHIFT-F6). Там вы увидите три Loc IPO (кривые для расположения объекта), и только одна из них непостоянная. Выберите ее, включите режим редактирования (TAB) и выберите обе контрольные точки (вершины кривой). Теперь, измените клавишей V, форму кривой с плавной на резкую (Рис 6).

Рис 5. Плоскость после Dupliframe.

Рис 6. Изменение формы кривой IPO.

Теперь плоскости будут расположены как на Рис 7. Теперь сгруппируйте плоскость и камеру, способом "родитель>потомок" (выберите плоскость, SHIFT выберите камеру, CTRL-P). Теперь все плоскости будут перепендикулярны к камере и будут следовать за ней. Вот теперь, если нужно, можете перемещать камеру.

Рис 7. Плоскости после изменения формы кривой IPO.

Рис 8. Параметры основного материала.

Теперь нам нужно добавить материал тумана. Чтобы избежать нежелательных эффектов, материал должен быть без теней (Shadeless) и не отбрасывать собственной тени. Параметр Alpha сделайте маленьким (Рис 8). Получившейся материал дал бы такой же эффект как и встроенный туман и не было бы смысла нагружать CPU, рендеря 100 прозрачных плоскостей, особенно при использовании Объединенного рендера .

Tip Быстрый просмотр

Чтобы быстро отрендерить сцену с низким качеством, для предварительного просмотра, вы можете выключить несколько плоскостей с помощью опции DupOff: в панели Anim Settings. Затем, для финального рендеринга, снова установите значение DupOff на 0.

Уделите особое внимание параметру Alpha! Чем меньше плоскостей вы используете, тем реже будет туман, поэтому при финальном рендеренге туман может получится на много гуще, чем при предварительном просмотре!

По-настоящему интересные вещи произойдут тогда, когда вы добавите текстуру. Нам понадобится по меньшей мере две: Одна для ограничения тумана по вертикали и сохранения его над землей; Вторая, для того, чтобы сделать его неравномерным и с цветовыми оттенками.

Первая текстура будет у нас Blend, типа Linear, теперь, используя colorband (цветовые каналы), установите от чисто белого с Alpha=1 и с положением маркера 0.1, до чисто белого с Alpha=0 и положением маркера 0.9 (Рис 9). Добавьте её как Alpha-канал, с включенной опцией Mul (Рис 10). Чтобы наш туман был согласован с движением камеры, нам нужно включить опцию Glob. Это будет действительно и для других текстур и зафиксирует 3D-тектуру на плоскотях. Если вы в дальнейшем задействуете анимацию, то во время движения камеры, вы увидите статический (по отношению к сцене) туман. Любые другие настройки текстуры, показали бы туман статическим по отношению к камере, следовательно, при движении камеры туман оставался таким же во всех кадрах, а это слишком уж нереалистично.

Рис 9. Ограничение высоты текстуры.

Рис 10. Настройки текстуры Blend.

В любом случае, если вы хотите чтобы туман кружился, перемещался или изменялся, вам нужно анимировать текстуру. Об этом будет сказано позже.

Текстура Blend работает в направлениях X и Y, поэтому если вы захотите расположить ее вертикально по Глобальным (Glob) координатам, вам нужно ее перепроецировать (Рис 10). Обратите внимание, что смешивание (Blend) от Alpha=1 до Alpha=0 соответствует от global z=0 до global z=1, без дополнительного смещения (offset) и масштабирования. Поэтому для данного примера, стандартные настройки то что надо.

Теперь для рендеринга не будет иметь значение, где расположена камера и плоскости. Туман будет редким там где z=0, будет отсутствовать где z=1 и постепенно исчезнет между этими значениями. Если вы находите это слишком сложным, то представьте себе, если бы вы использовали для текстуры обычную опцию Orco (ORiginal COordinate) и не группировали бы плоскость с камерой. В этом случае, при движении камеры во время анимации, результаты были бы очень скверными, особенно, когда камера стала бы не перпендикулярна плоскостям. А что будет с туманом, когда камера станет параллельной плоскостям?!

Вторая текстура даст настоящую "изюминку" туману. Добавьте текстуру Clouds, с опциями Noise Size=2, Noise Depth=6 и включите Hard Noise (Рис 11). Включите для неё colorband, назначте параметры: от чисто белого с Alpha=1 с положением маркера 0 до границы с голубовато-серым цветом и Alpha=0.8 и положением маркера около 0.15, до розоватого оттенка с Alpha=0.5 и положением маркера приблизительно 0.2, и заканчивается шкала чисто белым, Alpha=0 и положением маркера 0.3. Конечно же, вы можете сделать зеленовато-желтый переход, если это туман на болоте....

Рис 11. Настройки текстуры Clouds.

Включите параметры для тектуры Col, Alpha и Mul, всё остальное по умолчанию. Если вы теперь отрендерите вашу сцену, то увидите как колонны перекрываюся классным туманом (Рис 12). И запомните, пожалуйста, что в данном случае, Объединенный рендер даст лучший результат.

Рис 12. Заключительный рендеринг.

Note

Если вы планируете анимировать ваш туман, который перемещался бы от ветра, то вам нужно поработать с последней текстурой. Убедитесь что выбран нужный текстурный канал, добавьте IPO для материала, и затем добавьте кривые для OfsX, OfsY и OfsZ.

<<< Пред | След >>>
Мягкие тела | Редактор последовательности


Редактор последовательности

перевод: Sailor

Редактор последовательности Blender'а, часто недооценивается. На самом деле, это полноценная система видеоредактирования, которая позволяет вам комбинировать множество видеоканалов и добавлять к ним эффекты. Не смотря на то, что редактор имеет ограничение по количеству операций, с его помощью вы можете создавать обалденные видеоролики (особенно, если вы его используете совмесно с мощной системой анимации Blender'а!). Более того, возможности редактора можно расширить с помощью плагинов, чем-то похожих на текстурные плагины.

Изучение Редактора последовательности

Относится к Blender v2.31

В этом разделе, вы на практике займетесь редактированием видеопримера, используя большинство встроенных возможностей редактора последовательности. Мы сложим вместе несколько анимационных роликов, сделанных в Blender'е, чтобы получить интересные эффекты. Один из кадров уже отредактированной анимации на Рис 1.

Рис 1. Конечный результат.

Первая анимация: два куба

Начнем с чего-то простенького и посмотрим к чему это приведет. Запустите Blender и удалите плоскость. Разбейте 3D-окно на два и переключите одно из окон на вид из камеры (NUM0). В другом окне, при виде сверху, добавьте куб и переместите его влево, за пределы видимости камеры, чуть дальше внешнего пунктирного квадрата (или прямоугольника), который отображается при виде из камеры (Рис 2).

Рис 2. Перемещение куба.

Мы хотим создать простейшую анимацию куба, который при просмотре будет двигаться, один раз вращаться и потом исчезнет. Установите конечный кадр анимации на 61 (значение End: на панели Anim , контекст Scene, F10) и потом, вставьте ключевой кадр, в кадр 1 с помощью I и выберите пункт LocRot. Это действие сохранит в этом кадре все данные вращения и местоположения объекта.

Перейдите в кадр 21 (нажмите два раза СТРЕЛКУ ВВЕРХ) и переместите куб ближе к камере и вставьте ещё один ключевой кадр. В кадре 41, оставьте куб на том же месте, но прокрутите его на 180 градусов и втавьте ещё один ключевой кадр.

И на конец, в кадре 61 переместите куб вправо, за пределы видимости камеры и вставьте последний ключевой кадр.

Нам понадобится две версии этой анимации: одна с цельным материалом для куба, а другая с каркасным. Как материал, мы используем чисто белый цвет, который будет освещен двумя яркими лампами - одна белая другая голубая. Значение энергии (слайдер Еnergy) для ламп установите 2 (Рис 3).

Для каркасного материала установите тип 'Wire' и измените цвет на зеленый (Рис 4).

Рис 3. Визуализация цельного куба...

Рис 4. ...и визуализация каркасного куба.

На панели Output (контекст Render, F10), в первом сверху текстовом поле, дайте анимации осмысленное название (например, 'cube_solid.avi'). (Рис 5).

Рис 5. Даем названии итоговой анимации.

Отрендерьте анимацию с цельным кубом, используя формат AVI Raw, так как это дает лучшее качество. Воспользоваться кодеком (AVI Codec) для сжатия можно уже будет потом, при окончательном редактировании. Если места на диске не хватает, то используйте формат AVI Jpeg.

Теперь измените материал на каркасный, зеленого цвета, отрендерьте анимацию и сохраните как cube_wire.avi.

Теперь у нас на жёстком диске есть два видеофайла 'cube_solid.avi' и 'cube_wire.avi', которых вполне достаточно для первого последовательного редактирования.

Первая последовательность: задержка кадров

Первая последовательнось будет использовать двойную анимацию с каркасным кубом, что позволит получить интересный эффект. Мы создадим несколько слоев видео, дадим им маленькое смещение по времени и сложим их вместе. Таким образом, получится 'светящийся след', как на экране радара.

Начните с чистой сцены и измените 3D-окно на окно Редактора последовательности (Sequence Editor), нажав клавиши SHIFT-F8 или через иконку [image] , которая находится в заголовке окна.

Теперь, нажав SHIFT-A и выбрав из меню Movie, добавьте в редактор видеоролик (Рис 6). Можно также воспользоваться меню Add>>Movie. В появившемся окне выбора файлов, выберите анимацию с каркасным кубом, которую вы создали ранее.

Рис 6. Добавление видеополосы.

После того, как видеофайл выбран и загружен, в окне появится синяя полоска, которая и является нашей анимацией. После добавления, сразу включается режим перемещения и полоска следует за мышью. На обеих концах полосы и внизу на панели, будут отображаться первый и последний кадр и название видео.

Давайте поближе рассмотрим окно редактора последовательности. Цифры по горизонтали снизу, это время. По вертикали, это видеоканалы. Любой з каналов, может содержать видео, картинки или эффект. Распологая каналы сверху, друг над другом и применяя эффекты, вы можете смешивать различные источники (видео, картинки) вместе.

Переместите видеополосу влево, так чтобы началом был кадр 1. Расположите ее в канале 1, в нижней строке и нажмите для завершения ЛКМ (Рис 7).

Рис 7. Расположение полосы.

Tip | Начало и конец анимации.
 | Вы можете добавлять кадры в начало и конец видеополосы, выбирая и перемещая треугольники (они станут фиолетовыми) по краям полоски. Таким же способом вы можете определять "длину" в кадрах для статических картинок.

скопируйте видеополосу с помощью SHIFT-D, расположите копию в канал 2 и сместите начало на один кадр вправо. Теперь у нас два видеослоя, расположеных друг над другом, но отображаться будет только один. Чтобы их смешать, нужно добавить соответствующий эффект.

Выберите обе полосы и нажмите SHIFT-A. Из меню выберите ADD (добавить, сложить) (Рис 8). Или же воспользуйтесь меню в заголовке окна Add>>Effect>>Add.

Рис 8. Смешивание двух видеополосок

Чтобы посмотреть что получилось, разбейте окно редактора на два и в другом окне, в заголовке, нажмите кнопку с изображением лица (Рис 9). Это включит автоматический предпросмотр (Рис 10). Если выбрать какой-нибудь кадр в окне редактора с полосками, то окно предпросмотра тут же отобразит этот кадр (со всеми эффектами!).

Рис 9. Кнопка включения режима предварительного просмотра.

Если вы нажмете ALT-A в окне предпросмотра, Blender воспроизведет анимацию. (Визуализация эффекта для первого раза, займет некоторое время).

Рис 10. Добавление окна предварительного просмотра.

Tip | Безоконный предпросмотр
 | Если вам не нравится отдельное окно для рендеринга, тогда перейдите в окно кнопок рендеринга (F10) и нажмите кнопку DispView.

Теперь настало время немного поиздеваться над нашей анимацией. Скопируйте еще раз видеополоску и поместите ее в четвертый канал. Добавьте к ней и существующему эффекту ADD в канале 3, еще один эффект ADD. Повторите это еще раз и вы получите в окне предпросмотра четыре каркасных куба. (Рис 11).

Рис 11. Четыре каркасных куба смешанных вместе.

Сейчас все кубы имеют одинаковую яркость, но я хотел бы, чтобы яркость уменьшалась. Это очень легко сделать: откройте IPO-окно (SHIFT-F6) и из меню, где выбирается тип IPO, выберите тип Sequence (Рис 12).

Рис 12. Кнопка IPO Sequence.

Выберите первую полоску эффекта add (она в 3-ем канале), потом, нажмите и держите клавишу CTRL и кликните ЛКМ , в IPO-окне, на уровне значения 1. Это установит максимальное значение яркости для эффекта add. Сделайте тоже самое и для двух других полосок add, но установите слегка пониженое значение, например, около 0.6 и 0.3 (Рис 13).

Рис 13. Установка значения яркости с помощью IPO

В зависимости от значений, которые вы только что установили для ADD, результат должен быть приблизительно как на Рис 14.

Рис 14. Четыре каркасных куба, с эффектом затухания.

Теперь у нас есть 7 полосок и это только начало! Как видите, окно редактора быстро заполняется видеополосками и эффектами, из-за чего работать становится не совсем удобно. Чтобы облегчить управление нашим проектом, выберите все полоски (клавиши A и B здесь также работают!), нажмите M и потом ENTER или кликните по появившемуся меню Make Meta. Альтернативный вариант этого действия меню Strip>>Make Meta Strip. Таким образом, мы объеденим все полоски в одну, общую мета-полосу, после чего, мы можем ее перемещать или копировать целиком.

Когда мета-полоска выбрана, нажмите N и введите осмысленное название, например 'Wire/Delay'.(Рис 15).

Рис 15. Название мета-полосы

Вторая анимация: задержка кадров цельного куба

Теперь самый раз воспользоваться "маской". Нам нужно создать два участка, в которых анимация будет воспроизводится с разницей в один кадр. Это даст очень интересный прозрачный эффект.

Сначала создадим черно-белую картинку как на Рис 16. Можно использовать какой-нибудь 2D-редактор или Blender. Чтобы быстро и просто сделать это в Blender'е, создайте несколько клец из кривых (Curve Circle) на черном фоне, а материал для колец сделайте белым с параметром emit равным 1 или просто включите для материала опцию shadeless. В этом случае, вам не нужно освещение. Сохраните картинку с названием mask.tga.

Рис 16. "Маска".

Переключитесь на редактор последовательности и уберите в сторону мета-полосу, которую мы создали ранее, (мы ее потом вернем на своё место). Добавьте анимацию с цельным кубом (SHIFT-A>>Movie). Потом, добавьте картинку маски. По умолчанию, продолжительность кадров одиночной картинки в редакторе равна 50. Подгоните размер полосы "маски" под размер анимации, с помощью ПКМ и G, переместив мышкой треугольник, расположенный на конце полосы с картинкой.

Выберите обе полоски (удерживая SHIFT), нажмите SHIFT-A и добавьте эффект SUB (subtract, вычесть) (Рис 17).

Рис 17. "Вычитание маски" из видео.

Теперь в окне предпросмотра, вы видите эффект; участки маски белого цвета, удаляют (вычитают) участки основного видеоизображения (Рис 18).

Рис 18. Маска SUB.

Теперь эффект готов; выберите все три полосы и преобразуйте их в одну мета-полосу, используя M.

Теперь, повторите предыдущий шаг, но вместо эффекта SUB , выберите MUL (multiply, умножать) (Рис 19). В этот раз, эффект будет противоположный предыдущему. И снова, объедините три полосы в одну мета-полоску.

Рис 19. Маска MUL.

И напоследок, я объединил обе мета-полосы. Расположите мета-полосы друг над другом и дайте одной смещение на один кадр. Выберите обе мета-полосы и добавьте эффект ADD (Рис 20).

Рис 20. Объединение двух мета-полосок

В окне предпросмотра, вы видите эффект комбинирования маски с анимацией (Рис 21).

Когда все готово, выберите две мета-полосы и эффект ADD и преобразуйте в одну мета-полосу. (Правильно! вы можете интегрировать мета-полосы одна в другую!)

Tip | Редактирование мета-полосы
 | Чтобы отредактировать содержимое мета-полосы, выберите ее и нажмите TAB. Мета-полоса 'развернётся' и вы увидите ее компоненты. В тоже время, фон редактора станет желто-зеленого цвета, что будет напоминанием того, что вы работаете внутри мета-полосы. Снова нажмите TAB и мета-полоса обретет нормальный вид.

Рис 21. Два слоя анимации смещенных по времени.

Третья анимация: туннель

Обогатим нащу анимацию третьим эффетом; используем '3D-туннель' как фон. Сделать это довольно просто. Сначала сохраните свою предыдущую работу - она нам понадобится позже!

Начните с чистой сцены (CTRL-X) и удалите примитив по умолчанию. Переключитесь на вид спереди (NUM1). Добавьте кольцо с 20-ю вершинами, расположив его приблизительно на 10 единиц ниже оси z (Рис 22).

Рис 22. Добавление кольца.

Оставаясь в режиме редактирования, переключитесь на вид сбоку (NUM3), разместите 3D-курсор в точке x,y,z=0 и с помощью клавиш SHIFT-S и меню Curs>>Grid, привяжите его к координатной решетке.

Нам нужно преоразовать кольцо в круглую трубу или бублик. Для этого есть функция Spin. Перейдите к кнопкам редактирования (F9), на панели Mesh Tools, введите значения для Degr - 180, для Steps - 10. Теперь нажмите Spin (Рис 23).

Рис 23. Вращение кольца вокруг курсора

Выйдите из режима редактирования (TAB). По умолчанию, Blender всегда вращает или масштабирует объекты отностельно их центра, который отображается в виде маленькой точки. Эта точка желтая, когда объект не выбран и становится розовой если объект выбран. Оставляя 3D-курсор в нулевой точке координат, нажмите кнопку Center Cursor , в окне кнопок редактирования. Таким образом, мы переместим центр объекта (маленькую точку) в центр 3D-курсора. Теперь нажмите R и прокрутите трубу на 180 градусов.

Теперь переместите камеру в туннель. Преключитесь в другое 3D-окно и включите вид из камеры (NUM0). Разместите камеру как на Рис 24, и Рис 25.

Tip | Отсутствующие ребра
 | Если отображаются не все ребра, то на панели Mesh Tools 1 (кнопки редактирования F9), включите кнопку All Edges.

Рис 24. Камера сбоку.

Рис 25. Вид из камеры на внутренность туннеля.

Чтобы избежать проблем, мне нужно отрендерить эту анимацию как циклическую.

При создании циклической анимации, нужно помнить две важные вещи. Во первых, убедитесь что цикл анимации не содержит 'рывков'. Для этого, необходимо быть очень внимательным при создании ключевых кадров и настройке продолжительности анимации. Зоздайте два ключевых кадра: один с текущим расположением трубы, а другой после вращения трубы на 90 градусов (во время вращения удерживайте CTRL ) в кадре 51. Теперь вид из камеры в кадре 51 нашей анимации, такой же как и в кадре 1, поэтому, при рендеринге, мы упускаем 51 кадр и рендерим с 1 по 50.

Во вторых, чтобы получить равномерное движение (вращение) во время всей анимации, вам нужно удалить плавные переходы кривой анимации. Это видно в IPO-окне, сразу после добавления ключевых кадров вращения. IPO-кривая, по умолчанию, всегда плавно начинается и заканчивается. Но нам нужно чтобы она была прямая. Для этого выберите кривую вращения, включите режим редактирования (TAB), выберите все вершины (A) и нажмите V ('Vector, вектор'). После этого кривая между ключевыми кадрами (вершинами) станет ровной (Рис 26).

Рис 26. IPO вращения без переходов.

Чтобы сделать эффект более привлекательным, выберите камеру, при виде из камеры (Рис 27). Сама камера отображается как сплошной прямоугольник. Нажмите R и немного прокрутите ее. Если теперь отрендерить и воспроизвести анимацию, то она будет плавной, без "швов".

Рис 27. Немного поворачиваем камеру

И на последок, добавьте для трубы синий, каркасный материал, а также лампу (где-то перед камерой). Настройте параметр Dist (сокращение от distance, расстояние) для лампы так, чтобы конец трубы постепенно исчезал в темноте. В этом случае нам не прийдется использовать туман. (Рис 28).

Когда все готово, отрендерьте анимацию и сохраните ее как 'tunnel.avi'.

Рис 28. Туннель.

Вторая последовательность: Использование туннеля как фон.

Пререзагрузите ваш Blender-файл со сборником анимации. Туннель, которую мы только что сделали, мы используем как фон для всей анимации. Чтобы было ещё интереснее, я немного модифицировал эффект ADD для получения пульсирующего фона. Подготовьте полностью черную картинку с названием, например 'black.tga' (просто нажмите F12 в пустой сцене без освещения, потом сохраните F3. Но обязательно убедитесь что сохраняете как TGA-формат). Теперь добавьте в редактор картинку black.tga и анимацию туннеля и объедените их эффектом ADD (Рис 29).

Рис 29. Настройка эффекта фона.

Теперь выберите эффект ADD , откройте IPO-окно и в заголовке окна выберите кнопку Sequence. Удерживая клавишу CTRL и кликая левой кнопкой мыши, нарисуйте неравномерную линию с 1 по 50 кадр (по оси X). Следите чтобы значение параметра было в пределах от 0 до 1 (ось Y)(Рис 30).

Рис 30. Добавление хаотичности с помощью Ipo

Когда все сделано, посмотрите на эффект в окне предпросмотра, затем объедените анимацию и эффет в мета-полосу.

Сохраните вашу работу!

Четвёртая анимация: прыгающий логотип

Давайте создадим что-нибудь более хаотичное и случайное! Возьмем логотип (Это будет простой текстовый объект) и заставим его скакать по экрану. И снова, самый прстой способ сделать это - добавить вершины прямо в IPO-окно (только сначала выберите один из каналов LocX, LocY или LocZ ), но здесь вам нужно быть более внимательным, при установке максимальных и минимальных значений для каналов. И не беспокойтесь о внешнем виде логотипа - всё равно, следующий шаг сделает его едва распознаваемым (Рис 31).

Рис 31. Прыгающий логотип

Установите количество кадров 50, отрендерьте и сохраните анимацию как 'jumpylogo.avi'.

Пятая анимация: полоски из частиц

Наш последний эффект будет использовать анимированную маску. Комбинируя его с логотипом, созданным ранее, я получу эффект штриховки. Эта маска создается с помощью системы частиц. Для этого, переключитесь на вид сбоку, добавьте в сцену плоскость и оставляя ее выбранной переключитесь в контекст Object (F7), на закладку Effects , панель Constraints. Выберите New effect и поменяйте эффект по умолчанию build на Particles. Установите параметры системы частиц как на Рис 32.

Рис 32. Настройка системы частиц.

Войдите в режим редактирования (TAB), выберите все вершины и подразделите плоскость дважды, нажав W и выбирая из меню Subdivide.

Далее, переключитесь на вид спереди и добавьте ещё одну плоскость. Масштабируйте ее по оси X так, чтобы она преобразовалась в прямоугольник (нажмите S и перемещайте мышь горизонтально. Потом нажмите X или СКМ, чтобы масштабирование происходило только по указанной оси). Дайте прямоугольнику белый материал с параметром Еmit равным 1.

Теперь нам нужно изменить частицы на прямоугольники, для этого используем dupliverts. Выберите сначала прямоугольник, потом эмиттер частиц (первую плоскость) и сгруппируйте их, способом родитель>потомок. Выберите плоскость и в контексте Object, на панели Anim Settings, включите кнопку DupliVerts. После этого, все частицы поменяются на прямоугольники (Рис 33).

Рис 33. Прямоугольники.

Теперь, я добавлю немного тумана, это самый бытрый способ, чтобы придать прямоугольникам различные оттенки серого. Перейдите к кнопкам World (Мир, окружающая среда). Для этого, нажмите F8, потом выберите в панели World добавьте новый Мир (Add New). После этого, появятся кнопки управления Миром. (Возможно, после нажатия F8, у вас уже будет добавлен World (Мир, окружающая среда). Тогда новый добавлять не надо)

Установите цвета горизонта и зенита (HoR, HoG, HoB и ZeR, ZeG, ZeB) как на (Рис 34).

Рис 34. Настройка тумана.

Теперь, на панели Mist/Stars/Physics, включите кнопку Mist (Туман). Когда используете туман, вам нужно указать дистанцию (от камеры), на которую будет распространяться туман. Для этого, выберите камеру, переключитесь на контекст Editing (F9) и на панели Camera, нажмите кнопку ShowMist. Переключитесь на вид сверху и вернитесь к кнопкам Мира, нажав F8. На панели Mist/Stars/Physics, установите параметры для Sta: и Di: (Начало и Дистанция соответственно) так, чтобы туман перекрывал всю ширину системы частиц (Рис 34 и Рис 35).

Рис 35. Продолжительность (дистанция) тумана

Установите длину анимации на 100 кадров и отрендерьте анимацию, сохранив ее с названием 'particles.avi' (Рис 36).

Рис 36. Отрендеренные прямоугольникиы.

Третья последовательность: комбинация логотипа и полосок из частиц.

Теперь вы уже знаете что делать: перезагрузите ваш файл со сборником анимации, переключитесь на редактор последовательности и загрузите два видеоролика 'particles.avi' и 'logo.avi'. Объедените их спомощью эффекта MUL. Так как наша внимация логотипа имеет всего 50 кадров, а полоски из частиц 100 кадров, вам нужно скопировать анимацию логотипа и добавить к ней еще один эффект MUL (Рис 37 и Рис 37).

Рис 37. Использование анимации логотипа дважды.

Объедените эти полоски в одну мета-полосу. Можете не боятся и сделать несколько копий, дать им смещение по времени, точно так же как с каркасным кубом.

Рис 38. Комбинация анимации частиц и анимации логотипа.

Шестая анимация: проявление логотипа

Если бы вы собрали всю вашу анимацию в одну, то получилось бы действительно прикольное видео, но, допустим что вы делаете презентацию логотипа вашей фирмы. В этом случае, ваш логотип должен быть более читабельным. Поэтому, заключительной частью нашего анимационного сборника, станет анимация, где логотип будет постепенно проявляться. Подготовьте видео с анимацией логотипа, и сохраните его как 'zoomlogo.avi'. И еще, сделайте просто белую картинку и сохраните как 'white.tga'.

Теперь, мы будем использовать эффект CROSS , чтобы сначала сделать быстрый переход от черного к белому, затем от белого к нашей анимации логотипа. И в конце, снова переход к черному.

Для начала, расположите black.tga (она уже должна увас быть) в канале 1 и white.tga в канале 2. Задайте им длину в 20 кадров. Выберите обе полосы и добавьте эффект cross (пересечение). Этот эффект постепенно изменит картинку канала 1 на ту, что в канале 2. В нашем случае, это будет переход от черного к белому (Рис 39).

Рис 39. Чено-белый переход.

Далее, добавьте копию белой картинки (white.tga) в канал один и разместите его четко справа от черной картинки (black.tga). Дайте обеим картинкам длину приблизительно половину от оригинальной. Расположите анимацию zoomlogo.avi в канал 2, и добавьте эффект cross. На этом этапе, анимация выглядит как белая вспышка, после которой следует проявление анимации логотипа (Рис 40).

Рис 40. Белый переход

Осталось сделать так, чтобы анимация заканчивалась полностью черным цветом. Добавьте копию черной картинки (black.tga) и ещё один эффект cross. После этого, преобразуйте все в мета-полосу (Рис 41).

Рис 41. Черный переход

Собираем всё вместе

Мы подошли к концу нашей работы! Самое время, собрать несколько наших видеополосок, сделанных ренее и посмотреть что у нас получилось. Самая главная вещь, которую нужно помнить при рендеринге всего видеосборника, это то, что редактор последовательности "видит" только самый верхний канал видео. Это значит, что вам нужно определиться, что вы рендерите или только данную полосу, либо вам нужно связать полосы, лежащие в нижних каналах эффектом ADD, чтобы отрендерить их вместе.

Платформой нашего видео сборника будет туннель. Добавьте несколько копий мета-полосок с туннелью и расположите их в первом канале. Сложите их в одну метаполосу. Можете пока что не беспокоится о точной длине анимации, вы всегда можете добавить еще несколько копий мета-полосы.

Сверху, в канале 2 расположите анимацию каркасного куба с задержкой кадров. Теперь сложите канал 1 и 2, добавив эффект add в канал 3 (Рис 42).

Рис 42. Объединение туннеля и каркасного куба.

Теперь мы хотим еще добавить анимацию цельного куба. Расположите ее в канале 4, наложив на анимацию с каркасным кубом в канале 2. Сложите ее с анимацией туннеля (эффект Add) в канале 1. Здесь уже есть маленькая сложность; если все оставить как есть, то анимация в канале 5 (цельный куб с трубой) перекроет анимацию в канале 2 (каркасный куб). Чтобы решить эту проблему, сложите канал 3 и 5 (эффектом ADD)(Рис 43).

Рис 43. Комбинация туннеля, цельного и каркасного куба.

Часто бывает необходимо применить еще несколько эффектов ADD, чтобы визуализировать недостающие части видео. Это становится очевидно, после того как вы окончательно отрендерите готовую последовательность.

Сместите окно редактора немного влево и добавьте мета-полосу с анимацией логотипа и полосок из частиц. Расположите ее в канале 2 , а эффект add расположите в канале 3. Для разнообразия, скопируйте анимацию каркасного куба и объедините ее с эффектом add в канале 3 (Рис 44).

Рис 44. Добавление анимации логотипа и полосок из частиц.

Теперь перейдите в конец мета-полоски с анимацией туннеля. Расположите там мета-полосу с анимацией проявляющегося логотипа, оставляя небольшое пространство слева перед началом (Рис 45). Если длины мета-полоски с анимацией туннеля не хватает, то нажмите TAB и добавьте еще копию туннеля в конец. Снова нажмите TAB , чтобы покинуть режим редактирования мета-полосы.

Рис 45. Добавление анимации проявляющегося логотипа.

Если осталось еще место, то мы можем добавить копию анимации цельного куба. Чтобы все это отображалось корректно, вам нужно применить два эффекта add: один комбинировать с анимацией логотипа и полосок из частиц, а другой комбинировать с анимацией проявляющегося логотипа (Рис 46).

Рис 46. Добавляем оставшуюся деталь

На Рис 47 показана завершенная последовательность.

Рис 47. Завершенная последовательность.

Итог

Теперь, мы готовы отрендерить всю нашу видеокомпозицию! Чтобы сообщить Blender'у, что нужно использовать данные редактора последовательности, необходимо нажать кнопку Do Sequence, в окне кнопок рендеринга. После этого, отрендерьте и сохраните вашу анимацию как обычно (только убедитесь, что вы не перезаписали ни один из ваших AVI-файлов, которые вы использовали в видеопоследовательности!).

<<< Пред | След >>>
Эффекты объема | Редактор последовательности для звука


Редактор последовательности для звука

Относится к Blender v2.31

Blender с версии 2.28 имеет (с ограничениями) инструмент для работы со звуком. Вы можете добавить файл WAV через меню SHIFT-A и выбрав пункт Audio.

После этого, будет создана зеленая звуковая полоска. В настоящий момент отсутствует возможность микширования на 'высоком уровне'. У вас может быть столько звуковых полосок, сколько вам нужно, в результате они все будут смешаны.

Используя диалог, вызываемый клавишей N, вы можете давать каждой полоске своё название, коэффициент усиления - Gain (в dB, децибелах), выключить полностью звук для полосы (Mute) и регулировать разброс по каналам (Pan): -1 полностью левый, +1 полностью правый.

Для эффекта, можно добавить IPO для громкости в IPO-окне. Этот параметр кривой называется Fac. IPO-кадры (для Х) от 1 до 100 соответствуют полной длине звукового сэмпла, 1.0 полная громкость, 0.0 - полная тишина (для Y).

Blender пока что не может смешивать звук и видео. В результате получится видеофайл (если вы использовали кнопку ANIM, на панели Anim, контекст Scene Context/Render), или отдельный WAV-файл, который содержит весь звуковой поток для видео. Звуковой файл будет находится в той же самой директории что и видео, с таким же названием, но с расширением .WAV. Этот звуковой файл будет создан благодаря использованию кнопки MIXDOWN, на панели Sequencer (контекст Scene, подконтекст Sound).

Затем вы можете смешать аудио и видео, с помощью сторонней программы. Преймущество редактора последовательности Blender'а в том, что вы можете очень легко синхронизировать звук (по кадрам) и видео, в пределах одного приложения.

<<< Пред | След >>>
Редактор последовательности | Плагины Редактора последовательности


Плагины Редактора последовательности

Относится к Blender v2.31

Как уже упоминалось, возможности Blender'а можно расширять с помощью системы плагинов (плагин (plug-in, plugin) - это дополнение к программе, в виде отдельно подключаемого модуля). Существует два основных вида плагинов: текстурные плагины и плагины последовательности .

Плагины последовательности воздействуют на полоски (видео или картинок), также как и обычные команды ADD, CROSS и т.д. , вызываемые из меню. Чтобы задействовать плагин, вам нужно выбрать полосу, нажать SHIFT-A>>Plugin или через меню Add>>Effect>>Plugin. После этого, откроется окно выбора файлов, в котором вы можете выбрать нужный плагин.

Возможности плагинов на столько разнообразны, что их невозможно здесь описать. Разница между текстурными плагинами и плагинами последовательности в том, что плагины последовательности не имееют кнопок для настройки, ни в одном из окон, но к ихним параметрам можно всегда добраться через клавишу N.

<<< Пред | След >>>
Редактор последовательности для звука | Расширение возможностей Blender'а


Расширение возможностей Blender'а

Документация Blender'а Том I - Руководство Пользователя
<<< Пред
След >>>

VI. Расширение возможностей Blender'а

перевод: E-kaR

В отличии от многих программ, с которыми вы возможно знакомы, Blender не является монолитным и статичным. Вы можете расширять его функциональность не изменяя исходные коды и не компилируя заново.

Есть два пути расширить функциональность Blender'а: написание скриптов на языке Python и установка плагинов. Первый метод предподчтителен и чаще используется. Эта часть описывает оба.

Содержание
Написание скриптов на языке Python
Система плагинов Blender'а
<<< Пред | След >>>
Плагины Редактора последовательности | Написание скриптов на языке Python


Написание скриптов на языке Python

Относится к Blender v2.31

Blender имеет очень мощные средства, ещё не рассмотренные сдесь. Это встроенный в Blender интерпретатор языка Python.

Он позволяет любому пользователю добавлять новые функции, написав скрипт на Python'е. Python - это интерпретируемый, интерактивный, объектно-ориентированный язык программирования. Он поддерживает модули, обработку исключений, динамическое типизирование, очень высокого уровня динамические типы данных и классы. Python сочетает удивительную мощь с понятным синтаксисом. Он был специально разработан для использования как язык расширений в приложениях, которым необходим программируемый интерфейс, поэтому он используется в Blender'е.

Из двух способов расширения функциональности Blender'а (второй - установка плагинов), программирование на Python более мощное и универсальное средство. Предпочтительно писать срипты на Python'е, чем создавать плагины.

На самом деле, написание скриптов на Python'е имело некоторые ограничения до версии 2.25 Blender'а (последний релиз от компании NaN). Когда Blender стал свободным продуктом, множество разработчиков собралось вокруг него. В фонде Blender'а (Blender Foundation) решили работать над ним и изменить его интерфейс, Python API - это похоже часть Blender'а, которая подверглась наибольшему развитию и процессе полной реорганизации которой, были перенесены существующие модули и добавлено много новых.

Эта эволюция продолжается и даже большая интеграция ожидается в будущих версиях Blender'a.

В Blender'е есть текстовое окно среди других типов окон доступных через [image] кнопку меню типов окон или через SHIFT-F11.

Только что открытое текстовое окно - серое и пустое, с очень простой панелью инструметов (Рис 1). Там слева направо расположены стандартная кнопка выбора типа окна и меню текстового окна. Затем кнопка включения полноэкранного режима, кнопка вкл./выкл. для номеров строк и кнопка меню.

Рис 1. Панель инструментов текстового окна.

Кнопка меню( [image] ) позволяет вам выбирать текстовый буфер (файл), который будет показан, а также создавать новые буферы и загружать текстовые файлы.

Если вы загрузите файл, текстовое окно на время станет обыкновенным окном выбора файла. Когда текстовый буфер находится в текстовом окне, оно ведёт себя как очень простой текстовый редактор. Набирайте текст на клавиатуре как обычно. Как обычно нажав ЛКМ, передвинув и отпустив её, можно выделить текст. Применяются следующие клавиатурные комбинации:

  • ALT-C или CTRL-C - Копируют помеченый текст в буфер обмена;

  • ALT-X или CTRL-X - Вырезают помеченый текст в буфер обмена;

  • ALT-V или CTRL-V - Вставляют текст из буфера обмена в позицию курсора;

  • ALT-S - Сохраняет текст как текстовый файл, появляется окно выбора файла;

  • ALT-O - Загружает текст, появляется окно выбора файла;

  • ALT-F - Находит выделенный текст;

  • SHIFT-ALT-F или RMB - Открывает контекстное меню текстового окна;

  • ALT-J - Показывает диалог, в котором можно выбрать номер строки на которую перепрыгнет курсор;

  • ALT-P - Выполнит текст как питоновский скрипт;

  • ALT-U - Отмена;

  • ALT-R - Повтор;

  • CTRL-R - Обновить (перезагрузить) текущий буфер;

  • ALT-M - Конвертирует содержимое текстового окна (максимальное кол-во символов 100);

Blender использует отдельный от остальных приложений буфер обмена. Поэтому вы не можете вырезать/вставлять/копировать из или в Blender. Для доступа к общему буферу обмена используйте SHIFT-CTRL-C SHIFT-CTRL-V

Чтобы удалить текстовый буфер просто нажмите клавишу 'X' напротив имени файла, также для материалов, и т.д..

Самая примечательная клавиатурная комбинация - это ALT-P, которая делает так, чтобы содержимое текущего буфера обработалось встроенным в Blender интерпретатором Python'а.

Следующий раздел представляет собой пример написание питоновского скрипта. Перед тем переходить к ней, стоит заметить что Blender распространяется только с голым интерпретатором Python'а и некоторыми специфическими модулями, которые описываюся в **REF** .

Замечание Другое использование текстового окна

Текстовое окно удобно использовать также когда вы хотите поделиться блендеровскими файлами с сообществом или со своими друзьями. Текстовое окно может быть использовано для того чтобы написать в нём вспомогательный текст, описывающий содержимое вашего файла. Это намного удобнее чем использовать для этого отдельное приложение. Удостоверьтесь перед сохранением, что оно видимо!

Если вы разделяете файл с сообществом и хотите, чтобы он распространялся под какой-либо лицензией, вы можете написать её в текстовом окне.

Для доступа к стандартным модулям Python'а вам нужно, чтобы на вашей машине был полностью установлен работающий интерпретатор Python'а. Вы можете скачать его отсюда http://www.python.org. Обязательно проверте на http://www.blender.org какая точно версия Python'а встроена в Blender, чтобы избежать проблем с совместимостью.

Blender должен знать где эта полная версия Python'а установлена. Это делается определением переменной окружения PYTHONPATH.

Установка PYTHONPATH в Win95,98,Me. Как только вы установили Python, C:\PYTHON22, вы должны открыть файл C:\AUTOEXEC.BAT в вашем любимом текстовом редакторе и добавить строку:

SET PYTHONPATH=C:\PYTHON22;C:\PYTHON22\DLLS;C:\PYTHON22\LIB;C:\PYTHON22\LIB\LIB-TK

и перезагрузить систему.

Установка PYTHONPATH в WinNT,2000,XP. Как только вы установили Python, C:\PYTHON22 Нажмите правой кнопкой мыши на иконке "My Computer" на рабочем столе, и выбиритеСвойства. Выбирите вкладкуДополнительно и нажмите кнопку Переменные среды.

Ниже в поле системных переменных, (второе поле), щёлкните Новая. Если вы не администратор вы не сможете сделать это. В этом случае нажмите Новая в верхнем поле.

Теперь, в поле имени переменной, введите PYTHONPATH, а в поле значения:

C:\PYTHON22;C:\PYTHON22\DLLS;C:\PYTHON22\LIB;C:\PYTHON22\LIB\LIB-TK

Нажмите OK несколько раз, чтобы выйти из всех диалогов. Может нужно будет перезагружаться, а может и нет, зависит от операционной системы.

Установка PYTHONPATH в Linux и др. UNIX'ах. Обычно Python будет уже установлен. Если нет, установите его. Вам нужно будет проверить где он расположен. Это легко, просто запустите интерактивную оболочку Python, открыв обычную оболочку ОС и написав в ней python. Введите следующие команды:

>>>
import sys
>>> print sys.path

и посмотрите на вывод, он должен выглядеть примерно так

['', '/usr/local/lib/python2.2',
'/usr/local/lib/python2.2 /plat-linux2', '/usr/local/lib/python2.0/lib-tk', '/usr/lo
cal/lib/python2.0/lib-dynload',
'/usr/local/lib/python2.0/
site-packages']

Добавте это в ваш любимый rc-файл как перменную окружения. Например, добовте в .bashrc строку

export PYTHONPATH=/usr/local/lib/python2.2:/usr/local/lib/
python2.2/plat-linux2:/usr/local/lib/python2.2/lib-tk:/usr
/local/lib/python2.2/lib-dynload:/usr/local/lib/python2.0/
site-packages

всё в одной строке. Откройте новую логин-оболочку, или выйдите и опять зайдите.

Пример работы Python'а

Относится к Blender v2.31

Теперь когда вы узнали, что Blender расширяется посредством написания скриптов на Python'е, постигли основы управления скриптами и узнали как их запускать, перед тем как ударять по вашим мозгам полным набором функций Python API давайте посмотрим на быстро работающие примеры.

Мы представляем крошечный скрипт для создания полигонов. Он на самом деле дублирует эти опции панели инструментов SPACE Add>>Mesh>>Circle , но создаёт 'заполненные' полигоны, не просто линию.

Создание скрипта продемонстрирует работу графического интерфейса пользователя полностью написанного через API Blender'а.

Заголовки, импортирование модулей и глобальные данные.

Первые 32 строки кода представлены в примере 1.

Пример 1. Заголовок скрипта

001 ######################################################
002
#
003 # Демонстрационный скрипт для руководства пользователя Blender 2.3
004
#
005 ###################################################S68
006 # Этот
скрипт генерирует полигон. Это не особо полезно,
007 # т.к. вы можете создать
его так : ADD->Mesh->Circle,
008 # но это прекрасный пример скрипта,
к тому же
009 # полигоны 'заполнены'
010 ######################################################
011

012 ######################################################
013 # импорт
модулей
014 ######################################################
015
016
import Blender
017 from Blender import NMesh
018 from Blender.BGL import
*
019 from Blender.Draw import *
020
021 import math
022 from math
import *
023
024 # Параметры полигона
025 T_NumberOfSides = Create(3)
026
T_Radius = Create(1.0)
027
028 # События
029 EVENT_NOEVENT = 1
030
EVENT_DRAW = 2
031 EVENT_EXIT = 3
032

После необходимых коментариев с описанием того, что делает скрипт, происходит (строки 016-022) импортирование модулей Python'а.

Blender - это главный модуль в Blender Python API. NMesh - модуль обеспечивающий доступ к mesh-объектам Blender'а, в то время как BGL и Draw дают доступ к константам и функциям OpenGL и оконному интерфейсу Blender'а соответственно. Модуль math это математический модуль Python'а, но с недавнего времени и 'math' и 'os' модули встроены в Blender, вам не нужна полная инсталяция Python'а для этого!

Полигон определяется через число сторон и радиус. Эти параметры имеют значения, которые должны быть определены пользователем через GUI (Graphical User Interface) следовательно строки (025-026) создают два объекта (generic button), с начальными значениями по умолчанию.

И наконец, объекты интерфейса (GUI) работают с событиями и генерируют их. Идентификатор событий представляет целое число. Это хороший стиль программирования, определять мнемонические назавания для событий, как это сделано здесь в строках 029-031.

Отрисовка графического интерфеса пользователя (GUI).

Код ответственный за отрисовку GUI должен быть в функции рисования draw (Пример 2).

Пример 2. Отрисовка GUI

033 ######################################################
034
# Отрисовка GUI
035 ######################################################
036
def draw():
037 global T_NumberOfSides
038 global T_Radius
039 global
EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT
040
041 ########## Titles (Заголовки)
042
glClear(GL_COLOR_BUFFER_BIT)
043 glRasterPos2d(8, 103)
044 Text("Demo Polygon
Script")
045
046 ######### Параметры кнопок
047 glRasterPos2d(8, 83)
048
Text("Parameters:")
049 T_NumberOfSides = Number("No. of sides: ", EVENT_NOEVENT,
10, 55, 210, 18,
050 T_NumberOfSides.val, 3, 20, "Number of sides of out polygon");
051
T_Radius = Slider("Radius: ", EVENT_NOEVENT, 10, 35, 210, 18,
052 T_Radius.val,
0.001, 20.0, 1, "Radius of the polygon");
053
054 ######### Кнопки "Draw"
и "Exit"
055 Button("Draw",EVENT_DRAW , 10, 10, 80, 18)
056 Button("Exit",EVENT_EXIT
, 140, 10, 80, 18)
057

Строки (037-039) просто предоставляют доступ к глобальным данным. Действительно интересное содержимое начинается со строк (042-044). Инициализирутся окно OpenGL, и текущая позиция устанавливается в x=8, y=103. Исходное положение этой справки в нижнем левом углу скриптового окна. Затем выводится Demo Polygon Script.

Строки написанные далее (047-048) создают кнопки ввода параметров. Первые строки (049-050) - это кнопка ввода чисел, точно такая как в различных кнопочных окнах Blender'а. Для понимания всех параметров, обратитесь пожалуйста к справке по API. В основном там находятся: заголовок кнопки, события генерируемые кнопкой, её расположение (x,y), размеры (ширина, высота), значение, какие данные относятся к значению кнопки, минимальное и максимальное допустимые значения и текстовая строка, которая должна появлятся как всплывающая подсказка.

Строки (051-052) определяют числовую кнопку с полосой прокрутки, с очень похожим синтаксисом. Строки (055-056), наконец, создают кнопку выхода (Exit) , а ткаже кнопку прорисовки (Draw), которая создаст полигон.

Управление событиями.

Графический интерфейс пользователя не прорисовывается, и не работает, пока подходящее событие не прописано и не зарегистрировано. (Пример 3).

Пример 3. Управление событиями

058 def event(evt, val):
059
if (evt == QKEY and not val):
060 Exit()
061
062 def bevent(evt):
063
global T_NumberOfSides
064 global T_Radius
065 global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT
066

067 #########Управление событиями GUI
068 if (evt == EVENT_EXIT):
069
Exit()
070 elif (evt== EVENT_DRAW):
071 Polygon(T_NumberOfSides.val, T_Radius.val)
072
Blender.Redraw()
073
074 Register(draw, event, bevent)
075

Строки (058-060) определяют контроллер событий, соответствующий быстрой клавише (QKEY) вызова функции Exit().

Больше интересного в строках (062-072), отвечающих за события интерфейса. Каждый раз кнопка интерфейса пользователя используется для вызова этой функции, с номером события, определённым в качестве параметра. Суть этой функции в "выборе" структуры, выполняющей код соответствующий номеру события.

И последнее - это вызов функции Register. Она эффективно прорисовывает и запускает цикл перехвата событий.

Управление мешем

И наконец, Пример 4 показывает главную функцию, которая создаёт полигон. Это хотя и простое редактирование мешев, но показывает много важных моментов внутренней структуры данных Blender'а.

Пример 4. Заголовок скрипта

076 ######################################################
077
# Главная часть
078 ######################################################
079
def Polygon(NumberOfSides,Radius):
080
081 ######### Создание нового меша
082
poly = NMesh.GetRaw()
083
084 ######### Размещение в нём вешин
085 for
i in range(0,NumberOfSides):
086 phi = 3.141592653589 * 2 * i
087 x = Radius
* cos(phi)
088 y = Radius * sin(phi)
089 z = 0
090
091 v = NMesh.Vert(x,y,z)
092
poly.verts.append(v)
093
094 #########Добавление новой вершины в центр
095
v = NMesh.Vert(0.,0.,0.)
096 poly.verts.append(v)
097
098 #########Присоеденение
вершин к граням формы
099 for i in range(0,NumberOfSides):
100 f = NMesh.Face()
101
f.v.append(poly.verts[i])
102 f.v.append(poly.verts[(i+1)%NumberOfSides])

103 f.v.append(poly.verts[NumberOfSides])
104 poly.faces.append(f)
105

106 #########Создание нового объекта из нового меша
107 polyObj = NMesh.PutRaw(poly)
108
109
Blender.Redraw()

Первая важная строка здесь (082). Это создание нового меш-объекта, в переменной poly. Меш-объект состоит из списка вершин и граней, плюс ещё некоторое интересное содержимое. Для наших целей нам нужны только списки вершин и граней.

Конечно только что созданный меш является пустым. Первый цикл (строки 085-092) задаёт положение x,y,z и количество вершин, необходимое для определения полигона. Т.к. это плоская фигура значение z везде равно 0.

Строка (091) вызывает метод Vert из модуля NMesh для создания нового вершинного объекта для координат (x,y,z). Такой объект добавляется (строка 096) в список вершин меш-объекта.

Наконец (строки 095-096) последняя вершина добавляется в центр.

Строки (099-104) соеденяют эти вершины, чтобы создать грани. Не обязательно создавать все вершины заранее, а только потом грани. Вы можете безопасно создавать новые грани как только все вершины необходимые для них созданы.

Строка (100) создаёт новый объект грани. Объект грани имеет свой собственный список вешин v, определяющий его. Строки (101-103) добавляют три вершины к первоначально пустому списку f.v. Две из этих вершин - это последующие вершины полигона, а третья центральная. Эти вершины должны быть взяты из списка вершин меш-объекта. Наконец строка (104) добавляет только что созданную грань к списку граней нашего меш-объектаpoly mesh.

Завершение

Если вы создадите файл polygon.py, содержащий вышеописаный код и загрузите его в текстовое окно Blender'а, как вы научились в предыдущем разделе, и нажмёте ALT-P в этом окне, чтобы запустить скрипт, вы увидите, что скрипт исчезнет и окно станет серым. В левом нижнем углу будет нарисован элемент управления (Рис 2).

Рис 2. Элемент управления из нашего примера.

Выбрав, например, 5 вершин и радиус равный 0.5, а потом нажав кнопку Draw появится пятиугольник в плоскости xy окна трёхмерного вида (Рис 3).

Рис 3. Результат нашего примера скрипта.

<<< Пред | След >>>
Расширение возможностей Blender'а | Справка по Python'у


Справка по языку Python

Относится к Blender v2.31

Полное описание питоновского интерфейса прикладного программиста (API) в Blender'е имеет справочную документацию, которая сама потянет на целую книгу. По причине ограниченного пространства она не включена в эту книгу.

Она здесь:)

<<< Пред | След >>>
Написание скриптов на языке Python | Скрипты на Python'е


Скрипты на Python'е

Относится к Blender v2.31

Существует более тысячи скриптов для Blender'а, доступных в интернете. Как и плагины, скрипты очень динамичны, они изменяют интерфейс, функциональность и размещение в сети очень быстро, поэтому для того, чтобы получить обновлённый список с живыми ссылками, пожалуйста обратитесь к одному из двух главных сайтов, посвящённых Blender'у, www.blender.org или www.elysiun.com.
<<< Пред | След >>>
Справка по языку Python | Система плагинов Blender'а


Система плагинов Blender'а

автор: Кент Мэйн

перевод: E-kaR

Этот раздел глубоко описывает программирование блендеровских текстур и плагинов последовательности.

Написание текстурного плагина

Относится к Blender v2.31

В этом разделе мы напишем базовый текстурный плагин, а потом пройдём все шаги его использования. Основные элементы, котрые стоят за текстурным плагином - это то, что вы определяете некоторые входы (inputs); позиция (position), величина нормали и др. информация. Затем вы задаёте интенсивность, цвет и/или информацию о нормали, это зависит от типа текстурного плагина.

Все файлы, необходимые для разработки плагинов, также как и несколько примеров плагинов можно найти в каталоге blender/plugins. Также вы можете получить кучю плагинов отсюда http://www.cs.umn.edu/~mein/blender/plugins

Плагины поддерживаются (загружаются/вызываются) в Blender'е использованием вызовов типа dlopen(). Система dlopen позволяет программе (Blender'у) использовать откомпилированные объекты, как если бы они были частью самой программы, это похоже на динамически подключаемые библиотеки, но загружать объект или нет определяется во время выполнения программы.

Преимущество использования системы dlopen заключается в очень быстром обращении к функциям, и не существует интерфейсной прослойки для обращения к плагину, это особенно критично если плагин будет вызываться несколько миллионов раз (в случае текстурного плагина) в единственном рендеринге.

Недостатком этой системы является то, что код плагина работает как часть самого Blender'а, если плагин терпит крах, то Blender тоже.

Файлы "include", находящиеся в подкаталоге Blender'а plugins/include/ документируют функции доступные для плагинов. Они включают библтотеку Imbuf для загрузки и работы с изображениями и буферами изображений, а также функции шума (noise) и турбулентности (turbulence) для тектурирования.

<<< Пред | След >>>
Скрипты на Pythone | Спецификации


Спецификации

Относится к Blender v2.31

  • #include <plugin.h>

    Любой плагин Blender'а должен включать этот заголовочный файл, который содержит все структуры и определения, необходимые для того, чтобы плагин правильно работал с Blender'ом.

  • char name[]="Tiles";

    Символьная строка содержит название плагина, это значение будет показано в заголовке текстуры в окне текстурных кнопок.

  • #define NR_TYPES 2 char stnames[NR_TYPES][16]= {"Square", "Deformed"};

    Плагины могут иметь отдельные подтипы алгоритмов, например, текстура clouds в Blender'е имеет подтипы "Default" и "Color".

    NR_STYPES должна содержать число подтипов вашего плагина, а также должны быть заданы имена для каждого подтипа. Каждый плагин должен иметь по крайней мере один подтип.

  • VarStruct varstr[]= {...};

    Переменная varstr содержит всю необходимую Blender'у информацию для того, чтобы отобразить кнопки плагина. Кнопки плагина могут быть как цифровые, так и текстовые. Плагины ограничены максимальным количеством переменных, которое равно 32.

    Каждый элемент VarStruct состоит из типа, названия, информации диапазона, и подсказки.

    Тип определяет тип данных для каждой кнопки, и способ отображения этой кнопки. Для числовых кнопок это значение должно быть комбинацией (ORed) INT или FLO для числового формата, и NUM, NUMSLI, или TOG, для типа кнопки. Текстовые кнопки должны иметь тип ярлыка (LABEL).

    Название - это то, что будет показано на (или рядом) кнопке. Оно ограничено 15 символами.

    Информация диапазона состоит из трёх действительных значений для кнопки: по умолчанию, минимальное и максимальное. Для TOG кнопок минимальное задаёт нажатое состояное, а максимальное отжатое.

    Подсказка - это строка, которая будет показана, когда мыш будет находиться над кнопкой (если пользователь включил подсказки). Она имеет ограничение в 80 символов, и должна быть установлена в нулевую строку (""), если не используется.

  • typedef struct Cast {...};

    Структура cast используется в вызове функций, и служит как способ простого доступа ко всем данным плагина.

    Cast должен содержать целое или действительное число для каждой кнопки в массиве varstr, вкючая текстовые. Обычно они имеют тоже самое имя, что и кнопки для простой справки.

  • float result[8];

    Массив результатов, используемый для отправки информации в плагин и для получения результатов обработки. Значение результатов могут быть следующими:

    Индекс результата

    Значение

    Диапазон

    result[0]

    Значение интенсивности

    0.0 - 1.0

    result[1]

    Значение красного

    0.0 - 1.0

    result[2]

    Значение зелёного

    0.0 - 1.0

    result[3]

    Значение синего

    0.0 - 1.0

    result[4]

    Значение альфа-канала

    0.0 - 1.0

    result[5]

    Смещение по оси X

    -1.0 - 1.0

    result[6]

    Смещение по оси Y

    1.0 - 1.0

    result[7]

    Смещение по оси Z

    -1.0 - 1.0

    Плагин всегда должен возвращать значение интенсивности. Возвращение значений RGB или нормали не обязательно, и должно индицироваться возвращаемым значением функции doit(), "1" для RGB или "2" для нормалей (Normal).

    Перед вызовом плагина, Blender включает текущие нормали в result[5], result[6] и result[7].

  • float cfra

    Значение cfra устанавливается Blender'ом в текущее каждый проход рендеринга. Это значение номера кадра +/- .5, что зависит от настройки.

  • plugin_tex_doit prototype

    Функция plugin_tex_doit должна иметь прототип для использования фйнкцией getinfo. Вам не нужно изменять эту строку.

  • plugin_tex_getversion

    Этя функция должна присутствовать в каждом плагине, чтобы он загружался корректно. Вам не нужно её изменять.

  • plugin_but_changed

    Эта функция используется для обработки информации о том, какие кнопки изменяет пользователь. Многим плагинам не нужно использовать эту функцию, только когда интерфейс позволяет пользователю изменять какие-либо переменные, она используется для перерасчёта значений плагина (например, хэш-таблица случайных чисел).

  • plugin_init

    Если необходимо, плагин может использовать эту функцию для инициализации внутренних данных. Примечание: Эта функция может быть вызвана несколько раз, если плагин копируется. Не инициализируйте глабальные данные с помощью этой функции.

  • plugin_getinfo

    Эта функция используется для передачи Blender'у информации. Вам не нужно её изменять.

  • plugin_tex_doit

    Эта функция отвечает за возврат в Blender значений о запрошенных пикселах.

    Аргументы

    • int stype

      Это число выбранных подтипов, смотрите NR_TYPES и char stypes выше.

    • Cast *cast

      Структура Cast содержит данные плагина, смотрите элемент Cast выше.

    • float *texvec

      Это указатель на три значения float, которые являются координатами текстуры для которых возвращается значение текстуры.

    • float *dxt float *dyt

      Если эти указатели не равны NULL, то они указывают на два вектора (два массива по три заначения float), которые определяют размер запрошенной текстуры в пространстве пикселов. Они не равны NULL, только когда включён оверсэмплинг (OSA), и используются для расчёта правильного антиалиасинга.

    Функция doit должна заполнять результирующий массив и возвращает 0,1,2, или 3, в зависимости от получаемого значения. Она всегда должна всегда заполнять значение интенсивности. Если функция заполняет значение цвета, то она возвращает 1. Если значение нормали, то 2. А если всё подряд, то 3.

Взаимодействие текстуры с материалом

Blender отчасти отличается от многих 3D пакетов логическим разделением между текстурой и материалом. В Blender'е текстуры это объекты, которые возвращают определённые значения, т.е. являются генераторами сигналов. Материалы управляют расположением текстуры на объектах, на которые воздействует, сколько, каким образом, и т.д. Правильно спроектированный плагин включать только те переменные, которые управляют возвращаемыми сигналами, но не их применением к объектам. Кнопки для контроля значений scale, range, axis, и т.д. лучше включать только, когда они позволяют легче управлять текстурой (в случае кнопки размера в плагине черепицы) или ускорить расчёт (подтипы Intensity/Color/Bump subtypes в плагине Clouds2). Иначе кнопки материала делают их ненужными, и интерфейс становится сложным без необходимости.

<<< Пред | След >>>
Систама плагинов Blender'а | Основной текстурный плагин


Основной текстурный плагин

Относится к Blender v2.31

#include "plugin.h"

/* Название
текстуры */
char name[24]= "";

#define NR_TYPES 3
char stnames[NR_TYPES][16]=
{"Intens","Color", "Bump"};
/* Структура для кнопок,
 * по умолчанию min,
max равны 0
 */

VarStruct varstr[]= {
 {NUM|FLO, "Const 1", 1.7,
-1.0, 1.0, ""},
};

typedef struct Cast {
 float a;
} Cast;

float
result[8];
float cfra;
int plugin_tex_doit(int, Cast*, float*, float*, float*);

/*
Фиксированные функции */
int plugin_tex_getversion(void) {
 return B_PLUGIN_VERSION;
}

void
plugin_but_changed(int but) { }

void plugin_init(void) { }

void
plugin_getinfo(PluginInfo *info) {
 info->name= name;
 info->stypes=
NR_TYPES;
 info->nvars= sizeof(varstr)/sizeof(VarStruct);

 info->snames=
stnames[0];
 info->result= result;
 info->cfra= &cfra;
 info->varstr=
varstr;

 info->init= plugin_init;
 info->tex_doit= (TexDoit) plugin_tex_doit;

info->callback= plugin_but_changed;
}

int plugin_tex_doit(int stype,
Cast *cast, float *texvec, float *dxt,
 float *dyt) {

 if (stype ==
1) {
 return 1;
 } if (stype == 2) {
 return 2;
 }
 return 0;
}

<<< Пред | След >>>
Спецификации | Наши модификации


Наши модификации

Отностися к Blender v2.31

Первый шаг, который необходимо сделать. Это решить что плагин будет делать и как пользователи будут с ним взаимодействовать. Для этого примера мы создадим простую текстуру, которая задаёт простой кирпичный образец.

Сейчас мы скопируем наш основной текстурный плагин в файл cube.c и заполним пробелы.

Неплохо было бы добавить коментарии. Сперва сообщите пользователям что плагин делает, где они могут получить копию, с кем они должны связаться, чтобы сообщить об ошибке или пожеланиях, и лицензионные ограничениях. Используя коментарии, убедитесь в том, что вы используете коментарии такого типа /* */. Плагины и некоторые компиляторы C не допускают кометарии типа //.

/*
 Описание: Этот плагин является примером
текстурного плагина,
 который создаёт простой кирпичный образец.

 Он
требует два значения: размер кирпича и размер прослоек.
 Размер кирпича - это
рамер каждого кирпича.
 Размер прослоек - это размер раствора между кирпичами.

Автор: Кент Майн(mein@cs.umn.edu)
 Сайт: http://www.cs.umn.edu/~mein/blender/plugins

Лицензия: Public Domain
 Последнее обновление: Tue Oct 21 05:57:13 CDT 2003
*/

Далее нам нужно заполнить имя, необходимо сохранить то имя, которое имеет файл с исходным кодом на C, описанный ранее, менее 23 знаков, без пробелов и в нижнем регистре.

char name[24]= "cube.c";

Мы собираемся сохранить этот плагин простым, и у нас есть только единственный тип, который имеет дело с интенсивностью. Для этого нам нужно следующее:

#define NR_TYPES 1
char stnames[NR_TYPES][16]= {"Default"};

Для нашего пользовательского интерфейса нам нужно позволить людям изменять размер кирпича и размер прослойки раствора, также значение интенсивности возвращаются для кирпича и раствора. Для этого нам надо отредактировать varstr и Cast. Структура Cast должна иметь переменную для каждого элемента.

/* Структура для кнопок,
 * butcode name
default min max Tool tip
 */
VarStruct varstr[]= {
 {NUM|FLO, "Brick",
.8, 0.1, 1.0, "Size of Cell"},
 {NUM|FLO, "Mortar", .1, 0.0, 0.4, "Size of
boarder in cell"},
 {NUM|FLO, "Brick Int", 1, 0.0, 1.0, "Color of Brick"},

{NUM|FLO, "Mortar Int", 0, 0.0, 1.0, "Color of Mortar"},
};

typedef
struct Cast {
 float brick,mortar, bricki, mortari;
} Cast;

Теперь нам нужно заполнить функцию plugin_tex_doit, нам всего лишь нужно отобразить на текстуру "сетку", которая будет состоять из кирпичиков и прослоек вдоль нижних граней кирпича. Затем определим внутри кирпича мы находимся или нет. Следующий код должен это сделать:

int plugin_tex_doit(int stype, Cast *cast,
float *texvec, float *dxt,
 float *dyt) {
 int c[3];
 float pos[3], cube;

/* установка размера сетки */
 cube = cast->brick + cast->mortar;

/* we need to do is determine where we are inside of the current brick. */

c[0] = (int)(texvec[0] / cube);
 c[1] = (int)(texvec[1] / cube);
 c[2] =
(int)(texvec[2] / cube);

 pos[0] = ABS(texvec[0] - (c[0] * cube));

pos[1] = ABS(texvec[1] - (c[1] * cube));
 pos[2] = ABS(texvec[2] - (c[2] *
cube));

 /* Определение того, находимся мы в позиции прослойки внутри кирпича
или нет. */
 if ((pos[0] <= cast->mortar) || (pos[1] <= cast->mortar)
||
 (pos[2] <= cast->mortar)) {
 result[0] = cast->mortari;

} else {
 result[0] = cast->bricki;
 }
 return 0;
}

Одна вещь на заметку, в заголовочных файлах в plugins/include определена функция ABS . Существуют и другие полезные функции.

<<< Пред | Пред >>>
Основной текстурный плагин | Компиляция


Компиляция

Относится к Blender v2.31

Скрипт bmake - это простая утилита, которая поможет в компиляции и разработке плагинов, её можно найти в подкаталоге plugins/ в корневом каталоге Blender'а. Она вызывается командой bmake (plugin_name.c) , после чего она попытаеся привязаться к нужным библиотекам и скомпилировать определённый файл на C соответственно вашей системе. Если вы пытаетесь разрабатывать плагины на Windows машине bmake не будет работать. Вы можете попытаться скомпилировать плагин используя указанное ниже (программу lcc), принимая на себя размещение плагина в каталоге c:\blender\plugins. Это пример того, как вы могли бы скомпилировать текстурный плагин sinus.c. Откройте командную строку DOS и сделайте следующее:

(Примечание: вы должны проверить, что каталог lcc\bin в ходит в переменную окружения PATH)

 cd c:\blender\plugins\texture\sinus

lcc -Ic:\blender\plugins\include sinus.c
 lcclnk -DLL sinus.obj c:\blender\plugins\include\tex.def

implib sinus.dll

Если ваша версия lcc не содержит файл implib, то комманда будет выглядеть так:

 cd c:\blender\plugins\texture\sinus

lcc c:\blender\plugins\include sinus.c
lcclnk -dll -nounderscores  sinus.obj c:\blender\plugins\include\tex.def

Возможно, после комманды lcc c:\blender\plugins\include sinus.c , компилятор выдаст несколько предупреждений (..warning...), это не страшно. Если выдаст ошибку типа ...error... _hnoise.., в этом случае попробуйте удалить строку hnoise в файле tex.def

<<< Пред | След >>>
Наши модификации | Написание плагина последовательности


Написание плагина последовательности

Относится к Blender v2.31

В этом разделе мы напишем базовый плагин последовательности, а затем попробуем его использовать. В основе плагина последовательности лежат несколько значений; 1-3 входных буфера изображения и другая информация, а в выводе результирующий буфер избражения.

Все файлы необходимые для разработки плагина, также как и несколько примеров могут быть найдены в каталоге blender/plugins. Вы можете также получить множество плагинов отсюда: http://www.cs.umn.edu/~mein/blender/plugins

Спецификации:

Относится к Blender v2.31

  • #include <plugin.h>

    Каждый плагин Blender'а должен включать заголовочный файл, который содержит все структуры и определения необходимые для того, чтобы он правильно работал с Blender'ом.

  • char name[]="Blur";

    Строка символов содержит имя плагина, это значение будет показано как заголовок в окне текстурных кнопок.

  • VarStruct varstr[]= {...};

    Переменная varstr содержит всю информацию, которая нужна Blender'у для того, чтобы показать кнопки для плагина. Кнопки для плагина могут быть цифровыми для входных данных, текстовыми для коментариев и другой информации. Плагин может содержать не более 32 переменных.

    Каждый элемент VarStruct состоит из типа (type), имени (name), диапазона информации (range information), и подсказки.

    Переменная type определяет тип значения каждой кнопки, и способ её отображения. Для цифровых кнопок это значение должно быть комбинацией (ORed) INT или FLO для формата числа, и NUM, NUMSLI, или TOG, для типа кнопки. Текстовые кнопки должны иметь тип LABEL.

    Имя, которое будет показано на (или около) кнопке, ограничено 15 символами.

    Информация диапазона состоит из трёх вещественных чисел, которые определяют значения по умолчанию, максимум и минимум. Для кнопок переключения (TOG) мимнимум задаёт нажатое состояние, а максимум отжатое.

    Переменная tip - это строка, которая будет показываться когда мышка будет задерживаться над кнопкой (если пользователь включил подсказки). Она ограничена 80 символами, и должна быть задана как нулевая строка (""), если не используется.

  • typedef struct Cast {...};

    Структура cast используется в вызове функции doit, и служит для упрощения доступа ко всем данным плагина.

    Она должна содержать целое и вещественное число для каждой кнопки, определённой в переменной varstr, включая текстовые кнопки. Обычно они имеют те же имена что и кнопки для справки.

  • float cfra

    Значение cfra задаётся Blender'ом в текущее из предыдущего каждый проход рендеринга. Это значение определяется номером кадра +/- .5 в зависимости от настрооек.

  • plugin_seq_doit prototype

    Функция plugin_seq_doit должна иметь прототип, чтобы её могла использовать функция getinfo. Вам не нужно изменять эту строку.

  • plugin_seq_getversion

    Эта функция должна быть в каждом плагине, чтобы он мог правильно загружаться. Вам не нужно ёё изменять.

  • plugin_but_changed

    Эта функция используется для обработки информации о кнопках, которые изменяет пользователь. Многие плагины не используют эту функцию. Она используется когда интерфейс позволяет пользователям изменять некоторые переменные, которые влияют на пересчёт данных плагина (например: таблица случайных хешев).

  • plugin_init

    Если необходимо, то плагин может использовать эту функцию для инициализации внутренних данных. Примечание: Эта функция может вызываться несколько раз, если тот же самый плагин копируется. Не инициализируйте глобальные данные с помощью этой функции.

  • plugin_getinfo

    Эта функция используется для передачи Blender'у информации. Вам никогда не нужно её изменять.

  • plugin_seq_doit

    Функция последовательности doit отвечает за применение эффекта плагина и копирование пулученных данных в буфер вывода.

    Аргументы

    • Cast *cast

      Структура Cast, содержащая данные плагина, подробнее смотрите выше.

    • float facf0

      Значения кривой IPO плагина для первого сдвига поля. Если пользователь не создал кривую IPO, её диапазон от 0 до 1 в течение действия плагина.

    • float facf1

      Значения кривой IPO плагина для второго сдвига поля. Если пользователь не создал кривую IPO, её диапазон от 0 до 1 в течение действия плагина.

    • int x int y

      Ширина и высота буфера изображения, соответственно.

    • Imbuf *ibuf1

      Указатель на первый буфер изображения к которому привязан плагин. Это всегда должен быть допустимый буфер.

    • Imbuf *ibuf2

      Указатель на второй буфер изображения к которому привязан плагин. Плагины используещие этот буфер должны проверять его на недопустимое значения.

    • Imbuf *out

      Буфер для вывода.

    • Imbuf *use

      Указатель на второй буфер изображения к которому привязан плагин. Плагины используещие этот буфер должны проверять его на недопустимое значения.

ImBuf image structure

Структура ImBuf всегда содержит 32 битные ABGR данные.

Эта структура всегда соответствует размеру, указанному в значениях x и y.

Взаимодействие с пользователем

Blender не может определить сколько ввходных значений плагин ожидает, поэтому для пользователя возможно прикреплять только одно значение для плагина, который ожидает два. По этой причине важно всегда проверять буферы, которые используются вашими плагинами, чтобы убедиться, что они допустимы. Плагин последовательности также должен включать текстовый ярлык, описывающий количество входных значений в кнопочном интерфейсе.

Базовый плагин последовательности:

#include "plugin.h"
char name[24]=
"";

/* структура кнопок,
 * butcode name default min max 0
 */

VarStruct
varstr[]= {
 { LABEL, "In: X strips", 0.0, 0.0, 0.0, ""},
};

/*
структура cast для ввода в главную функцию doit
 Varstr и Cast должны иметь
одинаковые соответственные переменные */

typedef struct Cast {
 int
dummy; /* потому что это кнопка типа 'label'*/
} Cast;

/* cfra: текущий
кадр */

float cfra;

void plugin_seq_doit(Cast *, float, float, int,
int,
 ImBuf *, ImBuf *, ImBuf *, ImBuf *);

int plugin_seq_getversion(void)
{
 return B_PLUGIN_VERSION;
}

void plugin_but_changed(int but) {
}

void
plugin_init() {
}

void plugin_getinfo(PluginInfo *info) {
 info->name=
name;
 info->nvars= sizeof(varstr)/sizeof(VarStruct);
 info->cfra=
&cfra;

 info->varstr= varstr;

 info->init= plugin_init;

info->seq_doit= (SeqDoit) plugin_seq_doit;
 info->callback= plugin_but_changed;
}

void
plugin_seq_doit(Cast *cast, float facf0, float facf1, int xo, int yo,
 ImBuf
*ibuf1, ImBuf *ibuf2, ImBuf *outbuf, ImBuf *use) {
 char *in1= (char *)ibuf1->rect;

char *out=(char *)outbuf->rect;

}

Наши модификации:

Первый шаг, который необходимо сделать. Это решить что плагин будет делать и как пользователи будут с ним взаимодействовать. Для этого примера мы создадим простой фильтр, у которого будет иметь полосу прокрутки для интенсивности от 0 до 255. Если любое значение R,G, или B компоненты пиксела в исходном изображении меньше чем выбранная нами интенсивность. Будет возвращаться чёрный и альфа на полную. Сейчас мы скопируем наш базовый плагин в файл impfilt.c и дополним его.

Хорошая идея добавлять коментарии. Сперва сообщите пользователям что плагин делает, где они могут получить копию, с кем они должны связаться, чтобы сообщить об ошибке или пожеланиях, и лицензионные ограничениях. Используя коментарии, убедитесь в том, что вы используете коментарии такого типа /* */. Плагины и некоторые компиляторы C не допускают кометарии типа //.

/*
Описание: Этот плагин является примером
плагина последовательности,
который фильтрует вывод, который ниже интенсивности
пикселов.
Я использовал одно вводное значение.
Автор: Кент Мейн (mein@cs.umn.edu)
Сайт:
http://www.cs.umn.edu/~mein/blender/plugins
Лицензия: Public Domain
Последнее
обновление: Sun Sep 7 23:41:35 CDT 2003
*/

Далее нам нужно заполнить имя, необходимо сохранить то имя, которое имеет файл с исходным кодом на C, описанный ранее, менее 23 знаков, без пробелов и в нижнем регистре.

char
name[24]= "simpfilt.c";

Cast и varstr должны соответсвовать друг другу.
Нам нужет один слайдер, поэтому мы сделаем
следущее:

varStruct varstr[]=
{
 { LABEL, "In: 1 strips", 0.0, 0.0, 0.0, ""},
 { NUM|INT, "Intensity",
10.0, 0.0, 255.0, "Значение порога"},
};

typedef struct Cast {
 int
dummy; /* т.к. это 'label' */
 int intensity;
} Cast;

Сейчас нам
нужно заполнить функцию plugin_seq_doit. Нам нужно всего лишь
пройти по пикселам
и если значение RGB меньше интенсивности установить выходной пиксел
в : 0,0,0,255
иначе оставить входные значения без изменений.

 int x,y;

 for(y=0;y
cast->intensity) &&
 (in1[1] > cast->intensity) &&

(in1[2] > cast->intensity)) {
 out[0] = out[1] = out[2] = 0;
 out[3]
= 255;
 } else {
 out[0] = in1[0];
 out[1] = in1[1];
 out[2] = in1[2];

out[3] = in1[3];
 }
 }
 }

Вот мы и закончили simpfilt.c

Компиляция:

Относится к Blender v2.31

Скрипт bmake - это простая утилита, которая поможет в компиляции и разработке плагинов, её можно найти в подкаталоге plugins/ в корневом каталоге Blender'а. Она вызывается командой bmake (plugin_name.c) , после чего она попытаеся привязаться к нужным библиотекам и скомпилировать определённый файл на C соответственно вашей системе. Если вы пытаетесь разрабатывать плагины на Windows машине bmake не будет работать. Вы можете попытаться скомпилировать плагин используя указанное ниже (программу lcc), принимая на себя размещение плагина в каталоге c:\blender\plugins. Это пример того, как вы могли бы скомпилировать текстурный плагин sweep.c. Откройте командную строку DOS и сделайте следующее:

(Примечание: вы должны проверить, что каталог lcc\bin в ходит в переменную окружения PATH)

 cd c:\blender\plugins\sequence\sweep

lcc -Ic:\blender\plugins\include sweep.c
 lcclnk -DLL sweep.obj c:\blender\plugins\include\seq.def

implib sweep.dll

Если ваша версия lcc не содержит файл implib, то комманда будет выглядеть так:

 cd c:\blender\plugins\sequence\sweep

lcc c:\blender\plugins\include sweep.c
lcclnk -dll -nounderscores  sweep.obj c:\blender\plugins\include\seq.def

<<< Пред | След >>>
Компиляция | Дополнения к Blender'у


Дополнения к Blender'у

Документация Blender'а Том I - Руководство Пользователя
<<< Пред След>>>

VII. Дополнения к Blender'у

Поскольку возможности Blender'а можно расширить, пользователи-энтузиасты написали целую серию скриптов для экспорта моделей в другие рендеры.

В этой части документации, мы рассмотрим один из так их скриптов - Yable, а также один из редеров - Yafray. Yafray был выбран потому, что это новый и перспективный рендер, а также потому, что он активно разрабатывается группой пользователей-ветеранов Blender'а.

Содержание
Yafray как интегрированый внешний рендер
От Blender'а к YafRay, используя YableX
YafRay
<<< Пред | След>>>
Написание плагина последовательности | Yafray как интегрированый внешний рендер


Yafray как интегрированый внешний рендер

Относится к Blender 2.34

автор: Gaurav Nawani

перевод: Ash

Часть 1

Интеграция с Yafray - одно из самых замечательных нововведений в Блендере. Интеграция в текущей (на момент написания - прим. перев.) версии 2.34 Блендера очень хороша и стабильна. К сожалению, даже у тех кто чувствует себя достаточно комфортно в интерфейсе Блендера, использование Yafray может вызвать затруднения и заставить отказаться от его использования. Первая часть этой статьи посвящена основам рендеринга с использованием Yafray, остальные главы являются руководством к использованию прочих возможностей Yafray.

Интерфейс

В Блендер встроены два собственных движка для рендеринга: собственный трассировщик лучей и старый построчный рендер. Yafray же является внешним трассировщиком лучей. Его возможности доступны из интерфейса Блендера за счет экспорта сцены одним из двух способов. Первый из них позволяет использовать Yafray как модуль Блендера, то есть как если бы Yafray был встроен в Блендер. Второй способ экспортирует сцену в формат Yafray через XML-файл, называемый YBtest.xml и затем запускает Yafray как отдельную программу. Для использование любого из этих способов требуется наличие установленных в системе Блендера версии не ниже 2.34 и Yafray версии >0.7.

Инеграция Yafray в Блендер состоит из двух основных частей: это во-первых, интерфейс для настроек освещения и источников света, во-вторых - основные параметры рендеринга.

Шаг-1

Необходимо заметить, что эти действия могут и не понадобиться пользователям Windows. Для дальнейшей работы вначале нужно установить основные параметры Yafray. Вначале перетащим мышкой чуть ниже верхнее меню Блендера, чтобы открылось окно настроек пользователя. В нем щелкнем на кнопке File Paths и в верхней левой части появившейся вкладки в поле с названием YExport зададим путь, куда будет сохраняться экспортируемый в XML файл во время рендеринга вторым способом. Это нужно сделать, если вы хотите сохранить экспортированную сцену и затем редактровать ее вручную.

Рис. 1. Выбор пути в меню настройки Бленедра.

Шаг-2

Выше мы уже узнали, что Блендер позволяет нам выбирать между встроенным трассировщиком лучей и Yafray. Чтобы использовать Yafray, нужно дать Блендеру указания. Для этого нажмем F10 для входа в окно опций рендеринга, и далее на вкладку Render (Рис 2). На ней в выпадающем списке Render engine по умолчанию выбран Blender Internal; мы выберем в нем Yafray. (Рис 3).

Note

Пусть вас не смущает кнопка "Ray". Если в качестве рендера выбран Yafray, то эта кнопка ни на что не влияет.

Рис.2. Опции по умолчанию во вкладке "Render"

После того, как рендером будет выбран Yafray, после вкадки Render появятся еще две вкладки (Рис 3): Yafray и Yafray GI . В этих двух вкладках и находятся параметры рендеринга для Yafray.

Рис. 3. Дополнительные вкладки при выбранном Yafray в качестве рендера

Из этих новых двух вкладок вначале зайдем на ту, что называется Yafray. Некоторые функции на ней будут видимы, и из них нас прямо сейчас интересует кнопка XML, нажатая по умолчанию (Рис 4). Эту кнопку можно отключить. Почему? Как я уже говорил ранее, Blender может рендерить через Yafray двумя способами: или Yafray будет как часть интерфейса Blender'а или как отдельная программа.

Рис. 4. На вкладке "Yafray" по умолчанию включен экспорт в файл XML (кнопка XML).

Рис. 5. Отключенный экспорт в XML.

Когда Yafray используется как часть Blender'а, т.е. кнопка XML выключена, то вы сможете видеть в окне рендеринга ход процесса (Рис 6), как в родном рендере Блендера, но в этом случае Yafray будет требовать и использовать больше памяти. Если кнопка XML останется нажатой, то вначале сцена будет сохранена в файл, в директории, которую мы задали в (разделе Шаг-1), а затем Yafray будет запущен как отдельная программа для обработки этого файла. В этом случае результат рендеринга будет выведен только после полного завершения и единственным источником информации во время рендеринга будут выдаваемые в командную строку сообщения рендера.

Рис. 6 Ход рендеринга при отключенной опции (кнопке) XML.

Шаг-3

После первых двух шагов наш Yafray готов к работе. Если у вас готова сцена и освещение, то можно смело жать F12 для начала рендеринга. Вот тут почти у всех и появляется определенная "проблема". Поясню... в зависимости от настроек света в вашей сцене вы увидите либо пустой экран либо лишь тонкие очертания объектов. Также освещение может быть слишком ярким, чтобы что-то разглядеть. И в отдельных случаях Yafray и Блендер могут даже рухнуть.

В случае если вы видите лишь черный экран, то все не так уж и страшно - достаточно скорректировать параметры источников света и уже через несколько минут увидеть результат работы Yafray-я

Возможные причины проблем:

  • Во-первых почти всегда присутствует потеря интенсивности источников света. Это не столько проблема Yafray, сколько несостыковка при экспорте из Блендера в Yafray. В этом случае нужно увеличить значения интенсивности для всех источников света в сцене (более подробно это описано в разделе Часть 2).

  • Если сцена продолжает оставаться темной, нужно проверить значения дистанций для источников освещения. Дистанция - это "область действия" источника света, задаваемая чтобы уменьшить объем вычислений. Объект может быть темным, если дистанция источника света слишком мала и лучи просто не доходят до цели.

  • В случае падения программы попробуйте найти ответ на форумах www.elysiun.com

<<< Пред | След >>>
Дополнения к Blender'у | Часть 2


Часть 2

Я думаю, что будет лучше по порядку рассказать о источниках света в Yafray, чем рассказывать, какие настройки менять и где. Это позволит вам принимать самостоятельные решения.

Да будет свет... и стал Yafray повсюду

В Блендере существуют пять источников света и только четыре из них напрямую поддерживаются Yafray-ем. Включив Yafray в установках рендеринга, мы видим шесть типов источников света в окне опций освещения (по F5), из которых Yafray использует Lamp, Area, Spot и Sun. Позже я еще вернусь к оставшимся двум типам источников – Hemi и Photon.

Рис. 7. Сцена.

Описание сцены: В ней имеются два источника света. Один из них - вспомогательный (Sun без тени со значением value равным 0.2) используемый для непрямого освещения, увеличивает освещенность сцены. На место второго источника света мы будем ставить по порядку все рассматриваемые их типы. Положение источников и опция Ray Shadow (вычисление лучевой тени) будут одинаковы для всех примеров (см. Рис. 8).

Рис. 8. Окно сцены.

Note

Такой подход к освещению сцены выбран только из соображений удобства. Не надо рассматривать это как абсолютное правило освещения сцен. Схему освещения художник определяет сам из своего видения сцены. Смелее экспериментируйте с освещением, чтобы добиться хороших результатов.

Tip | Важно
 | Время рендеригна в последующих примерах – величина условная и относительная, нужная лишь для того чтобы сравнить время рендеринга одной и той же сцены с разными источниками света.

Lamp

Это простейший доступный источник света, который можно сравнить с солнцем – он ненаправлен (т.е. излучает свет во всех направлениях) и имеет сферическую природу. Поскольку лучи от него расходятся во все стороны, часть из них может уйти из сцены безвозвратно, не влияя на получаемое видимое изображение, но увеличивая объем вычислений. И хотя трассировщики лучей имеют средства для предотвращения ненужных расчетов, рендеринг все равно будет чуть медленее по сравнению с использованием направленных источников, особенно если большая часть лучей будет уходить из сцены.

Основное назначение этого источника – внутреннее освещение, например в комнате, но он может использоваться и в любых других случаях для вспомогательного освещения.

Значения: При использовании Lamp как единственного источника освещения сцены в Yafray (здесь и в дальнейшем под Yafray будет пониматься связка Blender-Yafray), его света будет как правило недостаточно, если не сделать его достаточно интенсивным. Для нашей сцены интенсивность (value) установлена в 10 (максимальное) но и этого недостаточно и требуется дополнительное освещение. Смотрите Рис 9.

Рис. 9. Сцена с применением Lamp со значениями по умолчанию

Тени от Lamp будут наиболее резкими при нулевом радиусе (по умолчанию). Значение радиуса определяет размер площади излучения источника. Если этот размер больше, чем размер объектов, то лучи от одних участков источника будут давать тень от объекта, а от других участков буду падать в то же место напрямую. В результате на таких участках возникнет полутень. В реальном мире такой эффект возникает от солнечного света.

Ссылка: Больше об эффектах размытой тени можно узнать в этом учебнике Ditto head's Light tutorial (англ.).

Рис. 10. При малом значении выборки (samples) появляется шум.

На сцене, показанной на (Рис 10) где радиус источника равнен 2 и значение выборки (Samples) равно единице, виден шум в полутенях. Уменьшить этот шум можно лишь увеличив значение параметра Samples, определяющее количество выборок при вычислении теней. Чем больше это значение, тем мягче будут тени. Кнопка для настройки Samples есть только у источников Lamp и Area и имеет одинаковое назначение для того и другого.

Рис. 11. При увеличении количества выборок до 5 шум в тенях исчезает.

Area (Область)

Area – это направленный тип источника. Его форма может быть квадратной или прямоугольной, и выбирается с помощью выпадающего списка во вкладке Lamp. Ниже также есть слайдеры, которыми задаются размеры источника .

Рис. 12. Начальный результат рендеринга с источником Area, с интенсивностью (energy) 4 и остальными параметрами по умолчанию.

Значения: Для источника Area интенсивность нужно делать меньше, чем для Lamp. Та же сцена, освещенная Area с интенсивностью равной 4, ярче чем при использовании Lamp с интенсивностью 10. Это происходит потому, что в Area весь свет излучается в одном направлении от плоскости источника, тогда как в Lamp энергия света распределяется во всех направлениях, при этом часть ее может теряться.

Рис. 13. Хотя сцена похожа на Рис. 11 , раздел Lamp, но более яркая и с лучшими тенями.

Note

В официальном релизе Blender2.34 использование двух или более источников вида Area приводит к ошибкам рендеринга. Это исправлено в последующих версиях.

Spot

Spot (пятно, прожектор) Это также направленный источник, излучающий свет в виде конуса, и дающий круглое пятно на поверхности. Размер конуса задаётся параметром SpotSi – это угол излучения прожекора в градусах. Чем больше этот угол, тем больше сходство Spot с источником Area, но в отличие от него Spot не даёт полутеней. Мягкость границ светового пятна можно менять параметром SpotBl. Это изменение заметно лишь тогда, когда граница пятна находится в пределах сцены, в ином случае разницы между Spot и другими источниками нет.

Рис 14. Сцена, освещенная Spot со значениями по умолчанию.

Рис. 15. Источник Spot со сферическим ослаблением света.

Обратите внимание на увеличение яркости освещения ближе к источнику на Рис 15 когда включена опция сферического ослабления света (квадратичное ослабление не поддерживается в Yafray). Радиус сферического ослабления определяется параметром Disatance (расстояние), например, на Рис 15 Distance имеет значение по умолчанию (равное 20), а Рис 16 равное 30. Похожий эффект даёт обычная домашняя лампочка, только в ней ослабление еще резче.

Note

Характер затухания света в Yafray может быть только квадратичным, тогда как в Блендере оно может быть также линейным, кубическим или смешанным. Этим объясняется относительно резкий характер затухания света при рендеринге с Yafray.

Рис. 16. Spot со сферическим ослаблением

Sun (Солнце)

Также направленный источник. Он пытается воспроизвести солнечный свет, посылая лучи одинаковой интенсивности во все части сцены, без ослабления (Рис 17). В результате этого вся сцена освещена равномерно. Интенсивность этого источника не должна быть высокой. Так, в нашей сцене она равна всего 0.100. Источник хорошо подходит для открытого пространства, особенно для имитации солнца.

В открытых сценах, если резкие тени нежелательны, можно не включать их генерацию для этого источника, а более мягкие тени получить другим видом освещения, подобрав нужные значения параметров.

Рис. 17. Источник Sun с интенсивностью 2. Неудивительно, почему он называется солнечным.

Другие виды ламп

Hemi - Yafray не поддерживает этот тип освещения, вместо него при экспорте подставляется тип Sun.

Photon (фотонный) - Запомните, что этот источник не похож ни на один другой. Он не дает ни света, ни тени, и необходим лишь для получения эффекта бликов* (Caustics), поэтому должен размещаться в том месте, где требуется получить блики. Этот источник выпускает поток фотонов (особенных элементов лучей), при помощи которых Yafray вычисляет характер бликов при прохождении света через преломляющие материалы - стекло или зеркала. Как правило, помещение в сцену источника фотонов позволяет пользователю оптимизировать рендеринг. Вычисление бликов – один из самых ресурсоёмких процессов при рендеринге.

Note

Источник фотонов не следует путать с понятием фотонов в методе GI. Об этом подробно рассказано в разделе Часть 3.

<<< Пред | След >>>
Yafray как интегрированый внешний рендер | Часть 3


Часть 3

Глобальное освещение и другие свойства

Yafray поддерживает глобальное освещение (GI)*. Вернемся назад к вкладке Render чтобы научиться работать с GI. Взглянув на вкладку Yafray GI впервые, можно подумать, что все очень просто - и это на самом деле так: настройка GI довольно проста в использовании. Доступные настройки - Method и Quality (способ и качество). Рассмотрим их по порядку.

Рис. 18. Вкладка Yafray GI.

Доступные способы GI

Skydome (небосвод, купол)

Поскольку Skydome – наиболее простой способ, имитирующий освещение от неба, а точнее от атмосферы, он не обеспечивает в полной мере правдивого глобального освещения, так как не учитывает влияние освещенности объектов друг на друга (отсвет). Метод отрабатывает влияние цвета атмосферы на сцену, а также рассеяние света атмосферой. В нашем примере цвет атмосферы выбран ярко-красным, чтобы подчеркнуть эффект. На Рис 19 виден эффект от расеяния света

Рис. 19. Левая часть рисунка имеет степень рассеяния 2, а правая - 4.

Цвет атмосферы задается на вкладке World (F8). Чтобы способ Skydome работал, нужно включить опцию World (задать окружающий мир). У Skydome больше нет других настроек. Это самый быстрый способ GI и хотя его результаты не совсем точны с точки зрения физики, они все же не так плохи, чтобы игнорировать их преимущества в скорости при использовании.

Full (полная)

При рендеринге с этой опцией учитывается отражение и преломление света между соседними поверхностями. Этот способ очень точно моделирует настоящее освещение в реальном мире, поэтому GI лучше всех остальных алгоритмов позволяет получить наиболее фотореалистичные снимки, хотя и требует больше вычислений, выполняясь медленнее.

Рис. 20. При использовании GI увеличивается не только реализм, но и время рендеринга.

Заметьте разницу в реализме между двумя частями Рис 20. За счет рассеяния света во второй части рисунка, уровень освещения в тенях там зависит от расстояний между соприкасающимися поверхностями, тогда как в первой части глубина теней примерно везде одинакова.

Рис. 21. Вкладка Yafray GI. Опции для метода Full

Опции для полного (Full) глобального освещения

Depth (глубина):

Под этим понимается общее число «прыжков» отраженного или рассянного луча. Как правило для большинства сцен достаточно глубины, равной трем. Увеличение глубины приведет к возрастанию объемов вычислений для каждого луча.

Cdepth (глубина бликов):

это глубина трассировки лишь для материалов, дающих блики, таких, как стекло, самоцветы, жидкость и т.п. Вычисление бликов требует очень много ресурсов, поэтому в компьютерной графике при расчете глобального освещения фотоны и обычные источники света разделены, хотя в реальном мире именно фотоны переносят свет. Наилучшее качество бликов будет при глубине луча равной 3-5 или больше.

Photon (фотоны):

Не путайте эту опцию с источником фотонного света (см. часть 2). Это - вспомогательное средство для вычисления GI и оно никак не связано с фотонами для вычисления бликов и с источником фотонов.

Count (количество):

Это общее количество вспомогательных фотонов, используемое для вычисления GI. Это значение зависит от сложности сцены; его увеличение улучшает результат GI, опытным путем можно найти приемлемое соотношение количества фотонов с временем рендеринга.

Radius (радиус):

подразумевается размер области, внутри которой обеспечивается максимальная точность эффекта GI, и за пределами которой фотоны уже не воздействуют на сцену. То есть идея состоит в том, чтобы согласовать радиус с размером той области, внутри которой требуется получить наилучшее качество GI. Устанавливайте радиус равным половине этой области.

MixCount (индекс смешивания):

Позволяет задать число фотонов, которое должно остаться внутри Радиуса. Radius и MixCount вместе образуют Карту фотонов (photon map) – оптимизированная область, используемая Yafray для вычисления GI: выборка и обединение фотонов при этом происходит только внутри карты, фотоны, находящиеся вне карты, не обрабатываются.

Tune Photons (Настроенные фотоны):

Для экономии времени эта опция позволяет повторно использовать успешное распределение фотонов, полученное при предыдущем вычислении и хранящееся в буфере. То есть вычисление будет происходить лишь для тех фотонов, которые не обрабатывались в предыдущем рендеринге. Как правило, это хорошо ускоряет процесс, но не для каждого рендеринга. Опция удобна, если получив однажды удачный результат, использовать ее для ускорения последующих тестовых рендерингов. В этом случае перед финальным рендерингом опцию нужно оключить.

Quality (Качество):

В выпадающем меню можно выбрать уровень качества для обоих способов GI – как для небосводного, так и для полного. От установленного уровня качества зависит число выборок для вычисления GI. При автоматическом сглаживании (по умолчанию), число проходов и выборок в проходе будут установлены максимальными для выбранного уровня качества. При желании можно отключить автоматическое сглаживание (AutomaticAA) и настроить эти значения вручную.

Другие свойства Yafray

Anti-Aliasing (сглаживание):

По умолчанию параметры сглаживания задаются автоматически. Чтобы настроить их вручную, нужно отключить кнопку AutoAA на вкладке Yafray в окне Rendering options, после чего станут видимы опции для ручной настройки.

Рис. 22. Вкладка Yafray.

  • AAPasses (число проходов сглаживания): Задаёт число проходов, применяемое при сглаживании. Чем оно больше, тем лучше результат и дольше время рендеринга. При каждом проходе делается количество выборок, заданное параметромAASamples; этим достигается лучшее сглаживание точек на «шумных» поверхностях. Если после одного прохода остается шум, то нужно увеличить число проходов и число выборок на один проход. Единственный проход сглаживания с большим числом выборок не обязаельно лучше чем несколько проходов с меньшим количеством выборок.

  • AA Samples (выборка): Это число выборок за один проход. Общее количество выборок равно произведению числа проходов на число выборок. В нашем примере для окончательного мягкого снимка с DoF, использовано 4x4=16 выборок сглаживания

  • Psz: Это размер пиксельного фильтра, используемый при вычислении границ перекрывания близлежащих пикселей

  • Threshold (Порог): Устанавливает максимальную разницу для яркости близлежащих точек, при превышении которой будут делаться дополнительные выборки до тех пор, пока разница станет меньше порога или пока количество выборок/проходов не достигнет максимально разрешенного. Меньшее значение порога означает большее количество сглаженных пикселей. Так, при нулевом пороге все точки будут сглажены, при единичном значении – сглаживания не будет

Raydepth (глубина лучей): Устанавливает максимальное количество отражений/преломлений светового луча. Этот параметр важен лишь при наличии стекол и зеркал: большая глубина рендеринга даст лучшее качество отражения/преломления на таких объектах.

The Depth of filter (Глубина фильтра)

Yafray поддерживает эффекты реальной камеры, например фокусировку в одной точке (DoF). Включить DoF довольно просто. Выделим камеру и нажмем F9. За вкладкой Camera будет вкладка Yafray DoF. На вкладке Camera включим опцию Show limits, на линии пределов камеры должен появиться желтый крестик. Он указывает точку, в которой фокус будет максимально резким. Положение этой точки задает числовая кнопка DoFDist. Нужная величина эффекта устанавливается параметром Aperture (апертура). Обычно её значение в диапазоне от 0.1 до 0.5 подходит для большинства сцен.

Рис. 23. На деревянных досках виден шум.

О том как избавиться от артефактов в сценах с DoF. Чтобы добиться правильного смягчения, требуется увеличить количество выборок выше нормального. Для этого нужно отключить AutoAA на вкладке Yafray в панели рендеринга, после чего подобрать нужные значения параметров AAPasses и AA Sample. Если апертура высокая, нужно увеличивать как число проходов, так и число выборок. При этом увеличится и время рендеринга.

Рис. 24. Увеличение числа выборок вручную позволяет избавиться от шума.

HDRI или High Dynamic Range Illumination (Освещение с высоким динамическим диапазоном).

Yafray поддерживает HDRI. Для его использования нужно перейти на панель World (F8). На вкладке Texture and Input добавим текстуру. Затем перейдем на вкладку текстур (F6), выберем тип текстуры – Image и кнопкой Load image загрузим HDR-файл. Blender не покажет загруженное HDR-изображение, но оно автоматически будет загружено во время рендеринга. Можно увеличить или уменьшить экспозицию HDRI слайдером на вкладке Colors на панели текстур (F6). Возможные значения экспозиции - -1,0,1, что соответствует значениям 0,1,2 на слайдере brightness. Это из-за того, что экспозиция HDRI может быть только целым числом. Последним шагом нужно включить любой из способов GI. Как правило, Skydome даёт хороший результат.

Рис. 25. Пример рендеринга с HDRI. Еще необходимо улучшить качество снимка.

Заключительные комментарии

Я намерен поблагодарить eeshlo, который побудил меня больше узнать о Yafray и помогал советами, в результате чего появилось это руководство. Также спасибо Dreamsgate за помощь в редактировании документа.

Этот учебник еще не завершен, поскольку еще остаются моменты, с которыми я еще не разобрался сам. Например, техника бликов и GI для разных случаев рендеринга. Так что я присвоил этому учебнику версию 1. Обновления, возможно, будут нерегулярны.

<<< Пред | След >>>
Часть 2 | Глоссарий для новичков


Глоссарий для новичков

Global Illumination (Глобальное освещение)

Это способ (алгоритм) вычисления освещенности, в коором учитывается не только свет от прямых источников, но и свет, отраженный/рассеянный от остальных объектов. Другими словами, в сцене появляется непрямой свет (отсвет), делая сцену фотореалистичней. Примерами методов GI являются Radiosity (излучательность) и Ambient Occlusion (объемный свет) в Blender-е. Вообще говоря, Radiosity, трассировка лучей и Caustics (блики) используют совершенно разные алгоритмы GI.

Ray tracing (Трассировка лучей)

Метод, используемый в компьютерной графике для вычисления поведения света на поверхностях объектов сцены. Трассировщик работает, «проводя» фотоны в обратном направлении, то есть от камеры или сцены к точке их возникновения. В реальности все происходит наоборот: солнце испускает фотоны, которые попадая на объекты, отражаются/преломляются, изменяют свою энергию в соответствии со свойствами материала объекта, и лишь затем попадают в наш глаз, воспринимаясь нами как текстура или цвет объекта.

Трассировка лучей работает наоборот для того, чтобы уменьшить объем вычислений, так как быстрее рассчитать только те фотоны, которые попадают на сцену или в камеру, чем вычислять все, даже те что остаются невидимыми.

Photon (Фотон)

Под этим понимается луч или минимальная единица энергии света.

Caustics (Блики)

Узор, возникающий при преломлении света, проходящего через высокопрозрачные объекты, такие как стекло или жидкость, имеющие определенный коэффициент полного внутреннего отражения. Например, свет, проходя через бокал, наполненный вином, образует странные переливающиеся разноцветные узоры называемые световыми бликами. Метод, для вычисления бликов также основан на распределении фотонов. Источник фотонного света в Blender'е/Yafray'е предназначен только для этой цели.

HDRI

Смотрите: High Dynamic Range Illumination

High Dynamic Range Illumination

Или HDRI (освещение с высоким динамическим диапазоном). Это относительно новый в GI способ. Он использует измеренные в реальной сцене уровни освещенности, получаемые при помощи специального оборудования и сохраняемые в виде сферического снимка сцены, называемого HDR. Рендерер использует эту информацию при моделировании освещения, этим обеспечивается еще более фотореалистичный результат.

Смотрите также: HDRI.

Anti aliasing (Сглаживание)

Это способ понижения разницы яркостей между соседними точками за счет добавления промежуточных уровней между значениями их яркостей. При этом изображение становится более мягким.

Photonmap (Распределение фотонов)

Заданная область внутри которой поддерживается повышенная плотность фотонов для вычисления непрямого освещения.

<<< Пред | След >>>
Часть 3 | От Blender'а к YafRay, используя YableX


От Blender'а к YafRay, используя YableX

Относится к Blender v2.31

автор: Manuel Bastioni

перевод: sailor

Что такое Yable?

Yable это скрипт (сценарий) на языке Python, первоначально созданный Andrea Carbone. Этот скрипт позволяет экспортировать сцену Blender'а в XML-формат, который совместим с YafRay, таким образом, есть возможность использовать высококачественные фотореалистичные рендеры. Однако, Yable это не просто "конвертер формата", а настоящий обработчик сцены, который позволяет изменять и добавлять свет, материал и т.д. в сцену, что дает возможность использовать все особенности YafRay. С другой стороны, мы могли бы рассматривать скрипт Yable как графический интерфейс (GUI), который позволяет визуально легко и просто настроить параметры используемые YafRay.

Какой Yable?

Первая версия Yable (конец 2002) была выпущена самим Andrea, затем, пользуясь большим успехом среди пользователей, были выпущены еще много разных версий скрипта с исправлениями и добавленными новыми возможностями. Важно отметить содействие таких пользователей как: Alejandro Conty Estйvez, Alfredo "Eeshlo" de Greef, Christoffer Green, Leope, Johnny "guitargeek" Matthews, Jean-Michel "jms" Soler.

После официального релиза Yable 0.30, было выпущено и выложено на сайт www.Kino3d.com, много неофициальных патчей, которые в основном назывались YableX. В этой главе, мы рассмотрим все эти версии, которые появились с выходом новой "официальной" версией и до последнго релиза YableX который, благодаря модификациям Jms, работает с последней версией Blender'а.

Где взять YableX?

Есть два основных сайта на которых есть соответствующие ссылки, но в любом случае, вы можете найти последнюю версию на сайте Jean-Michel "jms" Soler: Zoo-Blender (http://www.zoo-logique.org/3D.Blender). Я так же рекомедую посмотреть на форуме официального сайта YafRay, в разделе exporters: http://www.YafRay.org

<<< Пред | След>>>
Глоссарий для новичков | Установка скрипта


Установка скрипта

Относится к Blender v2.31

Скрипт Yable - это самый обычный текстовый файл, который можно загрузить в Blender, следовательно, мы не можем говорить об инсталяции как таковой. В действительноси, достаточно просто загрузить скрипт в текстовое окно Blender'а и запустить его, нажав ALT-P Но перед тем как это сделать, мы должны обратить внимание на два очень важных условия:

  • У вас должна быть установлена полная версия Python (подходящая к вашей версии Blender'а), скачайте его с www.python.org;

  • Вам необходимо подредактировать строку №81 скрипта Yable.

Первое условие неоходимо чтобы скрипт нашел все нужные ему модули Python, а второе, чтобы указать директорию где будут хранится файлы XML и все настройки. Например, придайте строке № 81 такой вид:

YABLEROOT = "C:/"

Это значит, что каждый раз когда вы экспортируете сцену из файла foo.blend, в корне диска C:\ будет создаваться новая папка с названием foo содержащая все элементы сцены. Таким образом, даже если вы закроете и потом откроете файл Blender'а и снова запустите скрипт, Yable сможет найти все настройки в папке с таким же названием как и текущий .blend-файл.

Note

Это автоматическое название очень удобно, но, если нужно будет сохранить .blend-файл с другим именем, нам прийдется еще раз заново его экспортировать из Yable, после чего все настройки снова будут записаны. С другой стороны, вы можете просто скопировать содержимое старой папки в новую.

Если хотите, вы так же можете настроить внешний просмотрщик, который будет авто матом запускаться и показывать результат рендеринга: Для этого в строке № 90, укажите путь в переменной VIEWERAPP к нужному приложению.

Как было сказано выше, все данные будут сохраняться в директории указанной в YABLEROOT, кроме текстур. Очень важно чтобы все текстуры, используемые в сцене, находились в одной директории и эта директория должна быть корректно указана для Yable. Это можно сделать уже после запуска скрипта, в соответствующей текстовой кнопке (поле) (Рис 1). Необходимо указать полный путь к текстурам.

Рис 1. Настройка пути к текстурам и кнопка запуска.

<<< Пред | След>>>
От Blender'а к YafRay, используя YableX | Интерфейс


Глоссарий

перевод: Sailor

A-Z

Active (Активный)

Blender разделяет состояние объектов на selected(выбранный) и active(активный). Одновременно может быть выбрано несколько объектов, но только один объект может быть активным . Например, чтобы отобразить свои данные.

Режим редактирования работает только на активном объекте (переключается клавишей TAB). Обычно, активный объект, это тот объект, который был выбран последним.

Смотрите также: Selected.

Actuator (Активатор, привод)

Это логический блок в игровом движке, который действует как мышца для реального живого существа. Этот блок может перемещать объект или воспроизводить звук.

Смотрите также: LogicBrick , Sensor , Controller.

Alpha (Альфа)

Значение альфа для картинки означает полупрозрачность или непрозрачность, используется для блендинга (смешивания) или антиалиасинга (сглаживания).

Ambient light (Окружающий свет)

Это свет, который исходит со всех сторон, а не из какой-то определенной точки. Окружающий свет не отбрасывает тени, но заполняет затененные участки сцены.

Anti-aliasing (Антиалиасинг, сглаживание)

Это алгоритм, который снижает эффект "лесенки", который возникает при прорисовке графических примитивов на растровой решетке.

AVI

Сокращение от "Audio Video Interleaved". Это видео формат, синхронизированный с аудио. Файл AVI может быть сжат различными видео и аудио кодеками.

Back-buffer (Задний буфер)

Blender для прорисовки использует два буфера. Эта система двойной буферизации, позволяет отображать содержимое оного буфера, в то время как прорисовка происходит во втором (заднем буфере).

Bevel (Скос, фаска)

Скос (или фаска) убирает острые края у экструдированного меша, путем добавления дополнительного материала вокруг соседних граней. Скосы, в частности, используются для "летающих логотипов" и анимации, так как они дополнительно отражают свет от углов объекта, также как и от граней спереди и сзади.

Bounding box (Ограничивающий прямоугольник)

Это шестисторонний визуальный блок, который представляет максимальные габариты объекта на экране.

Bump map (Рельефная карта)

Использование черно-белой карты (текстуры), которая эмулирует выпуклости и канавки. В Blender'е рельефная карта называется картой Nor.

Channel (Канал)

Некоторые блоки данных могут быть связаны с несколькими другими блоками. Например, Материал имеет десять каналов связанных с Текстурой. Каждый блок Ipo имеет фиксированное количество доступных каналов. Эти каналы имеют названия (LocX, SizeZ, и т. д..), которые указываю на их применение.

Child (Объект-Потомок)

Объекты могут быть связаны друг с другом, с помощью иерархической группы. Объект-Родитель (Parent) в такой группе, передает свою трансформацию на Объект-Потомок.

Смотрите также: Parent.

Clipping (Отсечение)

Процесс удаления, во время рендеринга, вершин и граней, которые находятся за пределами видимости.

Controller (Контроллер)

Логический блок, который работает как мозг в реальной жизни. Он принимает решение или активировать мышцы (Actuators), либо использовать обычную логику или же сложный скрипт на Python'е.

Смотрите также: LogicBrick , Sensor , Python , Actuator.

DataBlock (или "block", Блок данных)

Основное название элементов в Объектно-Ориентированной Системе Blender'а.

Doppler effect (Эффект Доплера)

Эффект Доплера это изменение тональности звука, которое происходит когда звук имеет скорость относительно слушателя. Когда звук двигается по направлению к слушателю, тональность повышается, когда уходит от слушателя, тональность снижается. Хороший пример это звук проносящейся мимо машины скорой помощи.

Double-buffer (Двойной буфер)

Blender использует два буфера (изображения) для прорисовки интерфейса. Содержимое первого буфера отображается, в то время как происходит прорисовка в другом буфере. После того как прорисовка закончена, буферы переключаются между собой.

EditMode (Режим редактирования)

Это режим для внутриобъектных графических изменений. Blender имеет два режима графических изменений. Режим редактирования, позволяет изменять внутреннюю структуру объекта (это перемещение, масштабирование, вращение, удаление и другие операции для выбранных вершин и ребер активного объекта). В противоположность этому режиму, есть объектный режим (ObjectMode), который позволяет производить внешние изменения для объекта (операции над выбранным объектом).

Переключение между режимом редактирования и объектным режимом, осуществляется клавишей TAB.

Смотрите также: ObjectMode , Vertex (мн. число vertices).

Extend select (Расширенный выбор)

Добавляет еще выбранные объекты, к уже выбранным (SHIFT-ПКМ).

Extrusion (Экструзия, выдавливание)

Создание трёхмерного объекта, путём выдавливания его из двумерного контура, придавая ему высоту и объем. Чаще всего используется для создания 3D-текста.

Face (Грань)

Треугольные и квадратные полигоны, которые формируют основу меш-объекта для рендеринга.

Field (Полукадр)

Кадры из видео в формате NTSC или PAL, составленные из двух чересстрочных полукадров.

FaceSelectMode (Режим выбора граней)

Режим для выбора граней на объекте. Очень необходим при текстурировании объектов. Включается клавишей F.

Flag (Флаг, метка)

Программерский термин для переменной, который обозначает определенный статус.

Flat shading (Плоскостное затенение)

Это быстрый алгоритм рендеринга, который просто дает каждой гране объекта одиночный цвет. Это дает возможность предварительно просмотреть объект, без траты времени на более долгий рендеринг. Нажатие клавиши Z включает в Blender'е плоскостное затенение.

Fps (Кад/сек)

Кадры в секунду. Любая анимация, видео и игры, воспроизводятся с определенной частотой. При частоте более чем 15 кадров в секунду, человеческий глаз не замечает отдельных картинок и воспринимает все как плавное движение. В играх этот параметр является показательным.

Frame (Кадр)

Отдельно взятая картинка из анимации или видео.

Gouraud shading (Затенение по методу Гуро)

Алгоритм рендеринга, который позволяет более детально отобразить объекты в сцене. Для отображения цвета, берется среднее значение цвета соседних граней. Это более реалистично чем плоскостное затенение, но менее реалистично чем затенение методом Фонга (Phong shading) или при использовании трассировщика лучей (ray-tracing). Включается клавишами CTRL-Z.

Graphical User Interface (GUI, Графический Интерфейс Пользователя)

Это часть приложения, которая взаимодействует с пользователем, принимая от него ввод с клавиатуры, мыши и т.д. и затем отображает результат. GUI Blender'а создан для эффективной работы по моделированию анимации в компаниях, где время - деньги. Весь интерфейс Blender'а сделан с использованием OpenGL.

Смотрите также: OpenGL.

Hierarchy (Иерархия)

Объекты могут быть связаны друг с другом в иерархические группамы. Родительский объект в такой группе передает свою трансформацию на Объекты-Потомки.

Ipo (ИнтерПоляция)

Основная система кривых анимации. Блоки Ipo могут быть использованы объектами для перемещения, а Материалами, для анимации цвета.

IpoCurve (Кривая IPO)

Кривая Ipo для анимации.

Item (Предмет, элемент)

Основное название для выбираемых элементов, таких как объекты, вершины или кривые.

Lathe (токарный станок, вращение)

lathe-объекты формируются с помощью вращения двумерного профиля вокруг центральной оси. Таким образом, создаются 3D-объекты такие как стаканы, вазы, тарелки и т.д. В Blender'е этот процесс называется "spinning" (вращение) .

Keyframe (Ключевой кадр)

Один из кадров, который несет в себе все атрибуты объекта. Затем, объект может изменится так, как определяет следующий ключевой кадр. Blender автоматически создает серию переходных кадров, между двумя ключевыми кадрами. Этот процесс называется "tweening."

Layer (Слой)

Это флаг (метка) видимости для Сцен и 3D-окон. Это эффективный способ скрывать (отображать) объеты при моделировании сложных сцен.

Link (Связь)

Это связь от одного Блока Данных к другому. В программерской терминологии это "pointer" (указатель).

Local (Локальный)

Каждый объет в Blender'е опредляется локальным 3D-пространством, посредством его расположения, вращения и размера. Сами объеты постоянно находятся в глобальном 3D-пространстве.

Локальный Блок Данных, это блок, который считывает информацию из текущего blend-файла. Нелокальный блок (Библиотека) частично связан с другим blend-файлом.

LogicBrick (Логические блоки, из которых "строится" игра)

Это графическое представление функционального элемента в игровой логике Blender'а. LogicBricks - это Sensors (сенсоры, датчики), Controllers (контроллеры) или Actuators (активаторы, приводы).

Смотрите также: Sensor , Controller , Actuator.

Mapping (Маппинг)

Это двусторонняя связь между Материалом и Текстурой. Сначала определяется информация для Текстуры. Потом, определяется эффект Текстуры на Материале.

Mipmap (Мипмап)

Процесс фильтрации текстур.

MPEG-I

Это один из стандартов сжатия для видео, разработанный "Motion Pictures Expert Group" (Группа Специалистов по Движущимся Картинкам). Благодаря небольшому размеру файла видео и мультиплатформенности, это подходящий стандарт для видео, чтобы расспростронять его через Интернет.

ObData block (Блок Данных Объекта)

Это самый важный блок данных для объекта. Этот блок определяет тип Объекта, такой как меш-объект или кривая или лампа.

Object (Объект)

Основной блок 3D-информации. Он содержит матрицы расположения, вращения, размера и трансформации. Он также может быть привязан к другому объекту для деформации. Объект может быть "пустым"(empty) (отображаются только оси) или иметь ссылку на 3D-информацию: Mesh, Curve, Lattice, Lamp, и т.д.

ObjectMode (Объектный режим)

Режим для межобъектных графических изменений. В этом режиме вы можете перемещать, масштабировать, вращать и удалять выбранные объекты. В противоположность ObjectMode, режим EditMode (режим редактирования), позволяет делать внутриобъектные изменения (операции с выбранными вершинами для активных объектов).

Переключение между режимами ObjectMode и EditMode осуществляется клавишей: TAB.

Смотрите также: EditMode.

OpenGL (OGL)

OpenGL это програмный интерфейс, в основном для програмирования 3D-приложений. С его помощью отображаются 3D-объекты на экране. Он также предоставляет одинаковый набор инструкций для различных компьютеров и видеоадаптеров. Весь интерфейс Blender'а, все 3D-данные и вся интерактивная графика, сделанная в Blender'е использует OpenGL.

Orthographic view (Ортографическая проекция)

Ортографическая проекция позволяет отобразить объекты двумерными. Все точки объекта перпендикулярны к плоскости просмотра.

Смотрите также: Perspective view.

Oversampling (OSA)

Смотрите: Anti-aliasing

Overscan (Нерабочая часть экрана)

Обычно видеокартинка превосходит размеры экрана. Края картинки могут отображатся или нет, позволяя создавать разные варианты картинки для телевизоров. Дополнительная часть экрана называется "Нерабочая часть экрана". Видеопроизводство предусматривает, что все основные действия (в кадре) происходят в центре основной части экрана. Как правило, профессиональные мониторы могут отображать всю видеокартинку, включая и нерабочую часть экрана.

Parent (Объект-Родитель)

Это объект который связан с другим объетом, Объект-Родитель связан с Объектом-Потомком. Координаты Объекта-Родителя становятся центром (3d-мира) для любых его Объектов-Потомков.

Смотрите также: Child.

Perspective view (Перспектива)

Перспектива это вид, когда объекты находящиеся дальше от точки прсмотра кажутся меньшими по размеру.

Смотрите также: Orthographic view.

Pivot (Центральная точка, ось)

Это точка, которая обычно расположена в геометрическом центре объекта. Все вращения и перемещения объета просчитываются относительно этой (центральной) точки. Однако, объект может быть смещен относительно его центральной точки, что позволит вращать его вокруг точки, находящейся за пределами объекта .

Pixel (Пиксель)

Это одна маленькая светящаяся точка на экране; самый маленький элемент в компьютерной графике.

Plug-In (Плагин)

Это "кусочек" (Cи) кода, который можно загрузить в реальном времени. Таким образом, можно значительно расширить функциональные возможности Blender'а без перекомпиляции. Плагин Blender'а для отображения 3D-контента в других программах, таже является кусочком кода .

Python (Пайтон)

Это язык программирования (для написания сценариев, скриптов) интегрированный в Blender. Python это интерпретируемый, интерактивный и объектно-ориентированный язык программирования.

Quaternions (Кватернионы)

Вместо использования 3-компонентного угла Euler'а, кватернионы используют 4-компонентный вектор. Довольно трудно описать действие кватернионов, впринципе, это и не нужно. Они используются для управления арматурами (в анимации).

Render (Отображение, рендер)

Это создание двумерного изображения объектов, на основе свойств их форм и материалов.

Rigid Body (Твердое Тело)

Это свойство для динамических объетов в Blender'е, которое заставляет игровой движок учитывать форму объета. Это свойство, например, можно использовать для создания катящихся шариков.

Selected (Выбранный)

Blender разделяет состояние объектов на selected(выбранный) и active(активный) объекты. Любое количество объектов может быть selected(выбрано) одновременно. Выбор объектов осуществляется правой кнопкой мыши.

Смотрите также: Active , Extend select.

Sensor (Датчик, сенсор)

Это один из LogicBrick, который работает как чувство для какой-либо жизненной формы. Он реагигует на прикосновение, столкновение, видимость и т.д.

Смотрите также: LogicBrick , Controller , Actuator.

Single User (Один пользователь)

Блок(и) данных (DataBlock) у которых есть только один "пользователь".

Smoothing (Сглаживание)

Это процедура рендеринга, которая специальным алгоритмом (интерполяцией нормалей) позволяет скрыть отдельные грани объекта .

Transform (Трансформация, преобразование)

Это изменение расположения, размера или вращение, в основном, вершины или объекта .

Transparency (Прозрачность)

Это свойство поверхности, которое определяет количество света, который пройдет сквозь объект без существенных изменений.

Смотрите также: Alpha.

User (Пользователь)

Когда один блок данных (DataBlock) связан с другим блоком, значит у него есть "пользователь".

Vertex (Вершина, множ. число vertices - вершины)

Это основное название для 3D или 2D точек. Помимо координат X,Y,Z , вершина может иметь цвет, вектор нормали (перпендикуляр) и метку выбора. Вершины также могут использоваться как контрольные точки или управляющие рычаги для кривых.

Vertex array (Массив вершин)

Это специальный и быстрый способ для отображения 3D на экране, с использованием аппаратного ускорения. Однако, некоторые OpenGL-драйверы или "железо" не поддерживает Vertex array, поэтому его необходимо отключить в Информационном окне (InfoWindow).

Wireframe (Каркасный)

Это режим отображения объекта, когда отображаются только его каркас и контур.

X, Y, Z-оси

Это три оси, трёхмерной системы координат. При виде спереди, ось X это воображаемая горизонтальная линия, идущая слева направо ; Ось Z вертикальная линия и ось Y, линия которая идет из глубины экрана к вам. Обычно любое движение паралельно одной из этих осей, говорится как: "движение (перемещение) вдоль оси такой-то....".

X, Y, и Z-координаты

Координата X для объекта, измеряется проведением линии через его центральную точку, которая перпендикулярна к оси X. Растояние, где эта линия пересекатся с осью X и точкой ноль оси X и будет координатой X для объекта. Таким же способом измеряются координаты Y и Z .

Z-buffer (Z-буфер)

Часть графической памяти, в которой хранятся расстояния от точки наблюдения до каждого пиксела. Это общеизвестный и быстрый алгоритм визуализации поверхностей.

<<< Пред | Оглавление
Фильтры |